Загрузка...

Скрипт Авторег Телеграм аккаунтов Telethon

Тема в разделе Python создана пользователем chewinggum 18 июл 2025 в 02:12. 149 просмотров

  1. chewinggum
    chewinggum Автор темы 18 июл 2025 в 02:12 2 Четверг
    видел на форуме тему - и она достаточно старая ( ей уже 3 года ) я немножко пошаманил и вроде починил этот скрипт - сама тема - https://lolz.live/threads/4531672/
    как он = к сожалению я не проверял как работает - если будете проверять то отпишите в комментариях как вам,

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

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

    Код
    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 минут
     
    18 июл 2025 в 02:12 Изменено
  2. PowerDevil
    Не будет работать
    --- Сообщение объединено с предыдущим 18 июл 2025 в 07:36
    Тк рега идет только через телефон
     
  3. Sierro
    Sierro 18 июл 2025 в 11:18 Жопа пися я карась 37 7 фев 2021
    [IMG]братан, вставь код нормально, чтобы его могли скопировать корректно
     
    1. chewinggum Автор темы
  4. NotPixel
    Как можно выставить не проверив?
     
    1. chewinggum Автор темы
Загрузка...
Top