Skip to content

nikolaev-rd/telegram-chats-users-import

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Импорт пользователей чатов Telegram

Экспортирует пользователей одного или нескольких чатов Telegram и импортирует в другой чат.

Требования

Подготовка

  1. Устанавливаем зависимости:

    pip3 install -r requirements.txt
    
  2. Заходим на my.telegram.org, авторизуемся и получаем:

    • API ID
    • API Hash
  3. Переименовываем пример конфига config.example.py в config.py и меняем значения параметров на полученные в п. 2:

    • api_id
    • api_hash
  4. Указываем список чатов (без @), откуда надо парсить пользователей:

    export_chats = [ 
        'chat1_name',
        'chat2_name'
    ]
  5. Указываем имя целевого чата (без @), куда будут импортированы пользователи:

    target_chat = 'my_chat_name'

Запуск

Выставляем права на выполнение:

chmod +x tg-chats-users-import.py config.py

и запускаем

./tg-chats-users-import.py

Дополнительные параметры

  • Прокси (MTProxy) — на случай, если у вас заблокирован Телеграм (не заполняйте, если прокси не нужен). Пример:

    # по умолчанию: ''
    proxy_host = 'proxy.digitalresistance.dog'
    
    # по умолчанию: 443
    proxy_port = 443
    
    # по умолчанию: '00000000000000000000000000000000'
    proxy_secret = 'd41d8cd98f00b204e9800998ecf8427e'
  • Лимит импорта — максимальное кол-во пользователей, которые будут импортированы (выбираются случайным способом), по умолчанию лимита нет (будут импортированы все):

    import_limit = 10
  • Исключить админов — при импорте пользователей по умолчанию администраторы чатов будут исключены:

    exclude_admins = True
  • Исключить ботов — при импорте пользователей по умолчанию боты будут исключены:

    exclude_bots = True
  • Исключить удаленные аккаунты — после удаления пользователя Telegram удаляет их полностью не сразу, некоторое время аккаунты еще числятся удаленными (помечаются как "Deleted account"), при импорте пользователей такие аккаунты по умолчанию не будут импортированы:

    exclude_deleted = True
  • Исключить давно неиспользуемые аккаунты — пользователи, которые не были онлайн указанное кол-во дней или дольше, будут исключены из импорта. По умолчанию: 30 дней. Для того, чтобы импортировать только пользователей, которые были онлайн недавно (Recently), укажите = 0.

    exclude_offline_days = 30
  • Черный список — список пользователей (без @), которых надо исключить из импорта в любом случае:

    usernames_blacklist = [
        'username_1',
        'username_2'
    ]

Логирование

Используется стандартная библиотека logging.

Уровень подробности

Для того, чтобы изменить уровень подробности логирования, поменяйте значение параметра (повлияет как на вывод в консоль, так и на файл лога):

log_level = 'INFO'  # DEBUG | INFO | WARNING | ERROR | CRITICAL

Вывод в консоль

Нельзя отключить, будет всегда.

Логирование в файл

  • Путь к логу

    Укажите '.' — логирование будет в директории скрипта. Можно оставить пустым — логирования в файл не будет.

    log_path = ''  # log_path = '.' или log_path = '/tmp'
  • Имя файла

    Оставьте пустым — файл лога будет tg-chats-users-import.log (формируется по шаблону <имя_скрипта>.log). Можно указать кастомное имя файла лога, оно будет дополнено суффиксом .log.

    log_name = ''  # log_name = 'my_log_name' -> my_log_name.log

About

Импорт пользователей чатов Telegram

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages