import telebot
import random
import time
import os
import requests
import logging
logging.basicConfig(filename='errors.log', level=logging.ERROR)
TOKEN = 'факин токен из @botfather хер баля'
bot = telebot.TeleBot(TOKEN)
sym = "abcdefghijklmnopqrstuvwxyz"
def print_banner():
banner = """
░█████╗░██╗░░░██╗████████╗░█████╗░░░░░░░██████╗░███████╗░██████╗░
██╔══██╗██║░░░██║╚══██╔══╝██╔══██╗░░░░░░██╔══██╗██╔════╝██╔════╝░
███████║██║░░░██║░░░██║░░░██║░░██║█████╗██████╔╝█████╗░░██║░░██╗░
██╔══██║██║░░░██║░░░██║░░░██║░░██║╚════╝██╔══██╗██╔══╝░░██║░░╚██╗
██║░░██║╚██████╔╝░░░██║░░░╚█████╔╝░░░░░░██║░░██║███████╗╚██████╔╝
╚═╝░░╚═╝░╚═════╝░░░░╚═╝░░░░╚════╝░░░░░░░╚═╝░░╚═╝╚══════╝░╚═════╝░
███╗░░░███╗░█████╗░██╗██╗░░░░░░░░████████╗███╗░░░███╗
████╗░████║██╔══██╗██║██║░░░░░░░░╚══██╔══╝████╗░████║
██╔████╔██║███████║██║██║░░░░░░░░░░░██║░░░██╔████╔██║
██║╚██╔╝██║██╔══██║██║██║░░░░░░░░░░░██║░░░██║╚██╔╝██║
██║░╚═╝░██║██║░░██║██║███████╗██╗░░░██║░░░██║░╚═╝░██║
╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝╚══════╝╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝
"""
return banner
def convert_accounts_format():
if not os.path.exists("accounts.txt"):
return "[❌] Файл accounts.txt не найден!"
with open("accounts.txt", "r", encoding="utf-8") as f:
accounts = [line.strip() for line in f if ":" in line]
if not accounts:
return "[❌] В accounts.txt нет аккаунтов для преобразования!"
formatted_accounts = []
for account in accounts:
email, password = account.split(":")
formatted_accounts.append(f"Mail: {email}\nPassword: {password}\n\n")
with open("accounts_format.txt", "w", encoding="utf-8") as f:
f.writelines(formatted_accounts)
return f"\n✅ Преобразование завершено! Сохранено {len(accounts)} аккаунтов в accounts_format.txt."
def check_accounts():
if not os.path.exists("accounts.txt"):
return "[❌] Файл accounts.txt не найден!"
with open("accounts.txt", "r", encoding="utf-8") as f:
accounts = [line.strip() for line in f.readlines()[4:] if ":" in line]
if not accounts:
return "[❌] В accounts.txt нет аккаунтов для проверки!"
valid_accounts = []
invalid_accounts = []
result_message = f"\n🔍 Начинаем проверку {len(accounts)} аккаунтов...\n"
for index, account in enumerate(accounts, start=1):
email, password = account.split(":")
result_message += f"[{index}/{len(accounts)}] Проверка: {email}\n"
try:
response = requests.post(
"https://api.mail.tm/token",
json={"address": email, "password": password},
timeout=10
)
if response.status_code == 200:
result_message += f"[✅] Валидный аккаунт: {email}\n"
valid_accounts.append(account)
else:
result_message += f"[❌] Невалидный аккаунт: {email}\n"
invalid_accounts.append(account)
except requests.exceptions.RequestException as e:
result_message += f"[⚠] Ошибка соединения: {e}. Ожидание 30 секунд...\n"
time.sleep(30)
invalid_accounts.append(account)
time.sleep(5)
with open("valid.txt", "w", encoding="utf-8") as f:
f.write("\n".join(valid_accounts) + "\n")
with open("invalid.txt", "w", encoding="utf-8") as f:
f.write("\n".join(invalid_accounts) + "\n")
result_message += "\n✅ Проверка завершена!\n"
result_message += f"✔ Рабочие аккаунты: {len(valid_accounts)}\n"
result_message += f"❌ Нерабочие аккаунты: {len(invalid_accounts)}\n"
return result_message
def register_account_v1():
try:
domain = requests.get("https://api.mail.tm/domains", timeout=10).json()["hydra:member"][0]["domain"]
except requests.exceptions.RequestException as e:
return f"Ошибка получения домена: {e}"
failed_attempts = 0
result_message = ""
while True:
login = "".join(random.choice(sym) for _ in range(random.randint(7, 13)))
password = "".join(random.choice(sym) for _ in range(random.randint(7, 13)))
try:
response = requests.post(
"https://api.mail.tm/accounts",
json={"address": f"{login}@{domain}", "password": password},
timeout=10
)
if response.status_code == 201:
with open("accounts.txt", "a", encoding="utf-8") as f:
if os.path.getsize("accounts.txt") == 0:
f.write("Аккаунты были зарегистрированы auto-reg.\n")
f.write("Вход в аккаунты тут → → → https://mail.tm/ru/\n")
f.write("Список аккаунтов:\n\n")
f.write(f"{login}@{domain}:{password}\n")
result_message += f"[✅] Аккаунт зарегистрирован: {login}@{domain}\n"
failed_attempts = 0
elif response.status_code == 429:
result_message += "[❌] Ошибка 429 (слишком много запросов). Ждем 60 секунд и пробуем снова...\n"
time.sleep(60)
failed_attempts += 1
elif response.status_code == 500:
result_message += "[❌] Ошибка 500 (внутренняя ошибка сервера). Ждем 30 секунд и пробуем снова...\n"
time.sleep(30)
failed_attempts += 1
else:
result_message += f"[❌] Ошибка: {response.status_code}, пропускаем аккаунт.\n"
failed_attempts += 1
if failed_attempts >= 3:
result_message += "[❌] Достигнут лимит попыток с ошибкой 500 или 429. Прекращаем создание аккаунтов.\n"
break
except requests.exceptions.RequestException as e:
result_message += f"[⚠️] Ошибка соединения: {e}. Ждем 30 секунд...\n"
time.sleep(30)
failed_attempts += 1
result_message += f"[⏳] Ожидание {random.randint(10, 20)} секунд перед следующим аккаунтом...\n"
time.sleep(random.randint(10, 20))
return result_message
def register_account_v2(num_accounts, delay):
try:
domain = requests.get("https://api.mail.tm/domains", timeout=10).json()["hydra:member"][0]["domain"]
except requests.exceptions.RequestException as e:
return f"Ошибка получения домена: {e}"
failed_attempts = 0
result_message = ""
if not os.path.exists("accounts.txt"):
with open("accounts.txt", "w", encoding="utf-8") as f:
f.write("Список зарегистрированных аккаунтов:\n\n")
for i in range(1, num_accounts + 1):
login = "".join(random.choice(sym) for _ in range(random.randint(7, 13)))
password = "".join(random.choice(sym) for _ in range(random.randint(7, 13)))
try:
response = requests.post(
"https://api.mail.tm/accounts",
json={"address": f"{login}@{domain}", "password": password},
timeout=10
)
if response.status_code == 201:
with open("accounts.txt", "a", encoding="utf-8") as f:
if os.path.getsize("accounts.txt") == 0:
f.write("Текст 1\n\n")
f.write("Текст 2\n\n")
f.write("Текст 3\n\n")
f.write(f"{login}@{domain}:{password}\n")
result_message += f"[✅] [{i}/{num_accounts}] Аккаунт зарегистрирован: {login}@{domain}\n"
failed_attempts = 0
elif response.status_code == 429:
result_message += "[❌] Ошибка 429 (слишком много запросов). Ждем 60 секунд и пробуем снова...\n"
time.sleep(60)
failed_attempts += 1
elif response.status_code == 500:
result_message += "[❌] Ошибка 500 (внутренняя ошибка сервера). Ждем 30 секунд и пробуем снова...\n"
time.sleep(30)
failed_attempts += 1
else:
result_message += f"[❌] Ошибка: {response.status_code}, пропускаем аккаунт.\n"
failed_attempts += 1
if failed_attempts >= 3:
result_message += "[❌] Достигнут лимит попыток с ошибкой 500 или 429. Прекращаем создание аккаунтов.\n"
break
except requests.exceptions.RequestException as e:
result_message += f"[⚠] Ошибка соединения: {e}. Ждем 30 секунд...\n"
time.sleep(30)
failed_attempts += 1
if i < num_accounts:
result_message += f"[⏳] Ожидание {delay} секунд перед следующим аккаунтом...\n"
time.sleep(delay)
return result_message
@bot.message_handler(commands=['start'])
def send_welcome(message):
welcome_message = f"🎮 Игрок 456 Добро Пожаловать В Игру! 🚀\n\n{print_banner()}"
bot.reply_to(message, welcome_message)
@bot.message_handler(commands=['convert'])
def handle_convert(message):
result = convert_accounts_format()
bot.reply_to(message, result)
@bot.message_handler(commands=['check'])
def handle_check(message):
result = check_accounts()
bot.reply_to(message, result)
@bot.message_handler(commands=['register_v1'])
def handle_register_v1(message):
result = register_account_v1()
bot.reply_to(message, result)
@bot.message_handler(commands=['register_v2'])
def handle_register_v2(message):
try:
num_accounts = int(message.text.split()[1])
delay = int(message.text.split()[2])
result = register_account_v2(num_accounts, delay)
bot.reply_to(message, result)
except (IndexError, ValueError):
bot.reply_to(message, "[❌] Ошибка: Введите количество аккаунтов и задержку в секундах через пробел.")
print("Все Гуд Мой Черный Мальчик")
while True:
try:
bot.polling(none_stop=True)
except Exception as e:
print(f"Ошибка: {e}. Перезапуск через 1 секунду...")
time.sleep(1)