Загрузка...

Autoreg Telethon telegram accounts

Thread in Your projects created by chewinggum Jul 18, 2025. 533 views

  1. chewinggum
    chewinggum Topic starter Jul 18, 2025 Banned 4 Jul 17, 2025
    видел на форуме тему - и она достаточно старая ( ей уже 3 года ) я немножко пошаманил и вроде починил этот скрипт - сама тема -
    Autoregistration of Telegram accounts Telethon
    Привет форумчане, видел пару статей, люди интересовались авторегистратором аккаунтов для телеграмма. И решил то же данной темой заняться.

    Я решил замутить собственный авторег используя библиотеку Telethon, прошерстив документации я разобрался что как делается, но по факту все оказалось печально....

    как он = к сожалению я не проверял как работает - если будете проверять то отпишите в комментариях как вам,

    1. Автоматическое создание связанных аккаунтов Добавление друг друга в контакты
      Совместная активность
    2. Улучшенная система ******:
    3. Загрузка ****** из файла
      Случайный выбор ****** для каждого аккаунта
    4. Система прогрева: Периодическая имитация активности
      • Чтение сообщений и отправка тестовых сообщений
    5. Более надежная регистрация:
      • Обработка ошибок на каждом этапе
      • Случайные задержки между действиями
    6. Конфигурация из файла:
      • API ключи и настройки в config.ini
    7. Случайные аватары:
      • Автоматический выбор аватара из папки
    8. Логирование:
      • Сохранение информации о всех созданных аккаунтах

    1. Создать файл config.ini с настройками
    2. Подготовить папку с аватарами
    3. Добавить ****** в файл proxies.txt (если нужны)
    4. Установить все зависимости (telethon, PySocks и др.)

    Code
    import os
    import json
    import time
    import random
    import names
    import socks # PySocks
    import requests
    from threading import Thread
    from telethon.sync import TelegramClient
    from telethon.tl.functions.account import UpdateUsernameRequest, UpdateProfileRequest
    from telethon.tl.functions.photos import UploadProfilePhotoRequest
    from telethon.tl.functions.channels import JoinChannelRequest

    class TelegramAccountCreator:
    def __init__(self, config_path='config.ini'):
    self.config = self.load_config(config_path)
    self.accounts = []
    self.proxies = self.load_proxies()
    self.channels_to_join = [
    "MarginWhalesChanel",
    "chat_znakomstv_495",
    "ru_politics",
    "breakingmash"
    ]

    def load_config(self, path):
    """Загрузка конфигурации из файла"""
    config = ConfigParser()
    config.read(path)
    return {
    'api_id': config.getint('Telegram', 'api_id'),
    'api_hash': config.get('Telegram', 'api_hash'),
    'sms_service_key': config.get('SMS', 'api_key'),
    'avatar_folder': config.get('Files', 'avatar_folder', fallback='avatars')
    }

    def load_proxies(self):
    """Загрузка списка ****** из файла"""
    try:
    with open('proxies.txt', 'r') as f:
    return [line.strip() for line in f if line.strip()]
    except FileNotFoundError:
    return []

    def get_random_proxy(self):
    """Получение случайного ******"""
    if not self.proxies:
    return None

    proxy_str = random.choice(self.proxies)
    parts = proxy_str.split(':')
    return {
    'proxy_type': 'socks5',
    'addr': parts[0],
    'port': int(parts[1]),
    'username': parts[2] if len(parts) > 2 else None,
    'password': parts[3] if len(parts) > 3 else None,
    'rdns': True
    }

    def get_random_avatar(self):
    """Получение случайного аватара"""
    if not os.path.exists(self.config['avatar_folder']):
    return None

    avatars = [f for f in os.listdir(self.config['avatar_folder'])
    if f.lower().endswith(('.jpg', '.jpeg', '.png'))]
    return os.path.join(self.config['avatar_folder'], random.choice(avatars)) if avatars else None

    def create_account_pair(self):
    """Создание пары аккаунтов"""
    phone1 = self.get_phone_number()
    phone2 = self.get_phone_number()

    # Создаем первый аккаунт
    acc1 = self.create_single_account(phone1)
    if not acc1:
    return False

    # Создаем второй аккаунт
    acc2 = self.create_single_account(phone2)
    if not acc2:
    return False

    # Добавляем друг друга в контакты
    self.add_as_contacts(acc1, acc2)

    # Сохраняем информацию о паре
    pair_info = {
    'account1': acc1,
    'account2': acc2,
    'created_at': time.time()
    }
    self.accounts.append(pair_info)
    self.save_accounts_info()

    return True

    def create_single_account(self, phone):
    """Создание одиночного аккаунта"""
    try:
    proxy = self.get_random_proxy()
    client = TelegramClient(
    f'sessions/{phone}',
    self.config['api_id'],
    self.config['api_hash'],
    proxy=proxy,
    connection_retries=2
    )

    client.connect()

    if not client.is_connected():
    print(f"Не удалось подключиться для {phone}")
    return None

    # Генерация случайных данных
    first_name = names.get_first_name()
    last_name = names.get_last_name()
    username = f"{first_name.lower()}{random.randint(100,999)}"

    # Регистрация аккаунта
    sent = client.send_code_request(phone)
    print(f"Отправлен код для {phone}")

    code = input(f"Введите код для {phone}: ")
    client.sign_up(code, first_name=first_name, last_name=last_name)

    # Настройка профиля
    client(UpdateUsernameRequest(username))
    client(UpdateProfileRequest(about='Привет! Я новый пользователь Telegram'))

    # Присоединение к каналам
    for channel in random.sample(self.channels_to_join, min(3, len(self.channels_to_join))):
    try:
    client(JoinChannelRequest(channel))
    time.sleep(random.uniform(1, 3))
    except Exception as e:
    print(f"Не удалось присоединиться к {channel}: {e}")

    # Установка аватара
    avatar_path = self.get_random_avatar()
    if avatar_path:
    try:
    client(UploadProfilePhotoRequest(client.upload_file(avatar_path)))
    except Exception as e:
    print(f"Не удалось установить аватар: {e}")

    # Настройка 2FA
    try:
    client.edit_2fa(new_password=f'TgPass{random.randint(1000,9999)}')
    except Exception as e:
    print(f"Не удалось установить 2FA {e}")

    # Взаимодействие со SpamBot
    try:
    client.send_message("SpamBot", "/start")
    time.sleep(1)
    client.send_message("SpamBot", "Хорошо")
    except Exception as e:
    print(f"Не удалось взаимодействовать со SpamBot: {e}")

    # Сохранение информации об аккаунте
    me = client.get_me()
    account_info = {
    "phone": phone,
    "session_file": f"sessions/{phone}.session",
    "first_name": me.first_name,
    "last_name": me.last_name,
    "username": me.username,
    "proxy": proxy,
    "created_at": time.time()
    }

    client.disconnect()
    return account_info

    except Exception as e:
    print(f"Ошибка при создании аккаунта {phone}: {e}")
    return None

    def add_as_contacts(self, acc1, acc2):
    """Добавление аккаунтов друг другу в контакты"""
    try:
    # Для реализации этого нужно сохранять сессии и потом использовать их
    # Здесь псевдокод для концепции
    client1 = TelegramClient(acc1['session_file'], self.config['api_id'], self.config['api_hash'])
    client2 = TelegramClient(acc2['session_file'], self.config['api_id'], self.config['api_hash'])

    client1.connect()
    client2.connect()

    client1.send_message(acc2['phone'], "Привет! Давай общаться!")
    client2.send_message(acc1['phone'], "Привет! Конечно!")

    client1.disconnect()
    client2.disconnect()
    except Exception as e:
    print(f"Ошибка при добавлении в контакты: {e}")

    def get_phone_number(self):
    """Получение номера телефона от SMS-сервиса"""
    # Реализация зависит от используемого SMS-сервиса
    # Здесь пример для sms-activate.ru
    url = f"https://sms-activate.ru/stubs/handler_api.php?api_key={self.config['sms_service_key']}&action=getNumber&service=tg&country=0"
    response = requests.get(url)

    if 'ACCESS_NUMBER' in response.text:
    return response.text.split(':')[2]
    else:
    raise Exception(f"Не удалось получить номер: {response.text}")

    def save_accounts_info(self):
    """Сохранение информации о всех аккаунтах"""
    with open('accounts_info.json', 'w') as f:
    json.dump(self.accounts, f, indent=2)

    def warm_up_accounts(self):
    """Прогрев аккаунтов для увеличения времени жизни"""
    for pair in self.accounts:
    for account in [pair['account1'], pair['account2']]:
    try:
    client = TelegramClient(account['session_file'], self.config['api_id'], self.config['api_hash'])
    client.connect()

    # Имитация активности
    client.send_message("me", "Тестовое сообщение")
    time.sleep(random.uniform(1, 5))

    # Просмотр нескольких каналов
    for _ in range(2):
    dialog = random.choice(client.get_dialogs())
    client.get_messages(dialog.entity, limit=3)
    time.sleep(random.uniform(2, 7))

    client.disconnect()
    except Exception as e:
    print(f"Ошибка при прогреве аккаунта {account['phone']}: {e}")

    if __name__ == "__main__":
    creator = TelegramAccountCreator()

    # Создаем несколько пар аккаунтов
    for _ in range(3): # Создаем 3 пары
    print(f"Создание пары аккаунтов #{_+1}")
    if creator.create_account_pair():
    print("Пара успешно создана!")
    else:
    print("Не удалось создать пару")

    # Пауза между созданием пар
    time.sleep(random.uniform(10, 30))

    # Периодический прогрев аккаунтов
    while True:
    print("Прогрев аккаунтов...")
    creator.warm_up_accounts()
    print("Следующий прогрев через 30 минут...")
    time.sleep(1800) # 30 минут
     
  2. PowerDevil
    PowerDevil Jul 18, 2025 пишите лс форума 16,165 Aug 27, 2022
    Не будет работать
    The post was merged to previous Jul 18, 2025
    Тк рега идет только через телефон
     
  3. Sierro
    Sierro Jul 18, 2025 Жопа пися я карась 38 Feb 7, 2021
    [IMG]братан, вставь код нормально, чтобы его могли скопировать корректно
     
    1. chewinggum Topic starter
  4. NotPixel
    NotPixel Jul 20, 2025 6,372 Jan 30, 2023
    Как можно выставить не проверив?
     
    1. chewinggum Topic starter
Loading...