Skip to content

borz7zy/ChannelReaderBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChannelReaderBot


ChannelReaderBot — это бот, реализованный с использованием библиотеки Telethon, предназначенный для чтения сообщений в каналах Telegram от имени пользовательских аккаунтов (userbot).

В репозитории представлены два скрипта:

  • get_updates.py — отслеживает новые сообщения в реальном времени;
  • collect_old_posts.py — собирает старые посты за определённый период.

Конфигурация

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

    pip install -r requirements.txt
  2. Переименуйте файл config_default.py в config.py.

  3. Задайте следующие переменные окружения:

    • TELEGRAM_API_ID
    • TELEGRAM_API_HASH
    • TELEGRAM_ACCOUNT_NAME
  4. В config.py настройте:

    • CHANNELS — список каналов для мониторинга;
    • IGNORE_TAGS — теги, по которым сообщения будут игнорироваться;
    • FORWARD_TO_CHAT — ID чата для пересылки сообщений;
    • FORWARD_TO_CHAT_TOPIC — ID топика внутри чата (если используется).

Для получения api_id и api_hash необходимо зарегистрировать приложение на my.telegram.org.


Первый запуск

При первом запуске любого из скриптов Telethon запросит ввод номера телефона и кода подтверждения из Telegram. Если на аккаунте настроен облачный пароль — его также потребуется ввести.

В случае, если после авторизации Telegram автоматически завершает все сессии аккаунта, можно задать нестандартное значение параметра system_version, например:

system_version="4.16.30-vxChannel"

Скрипт: collect_old_posts.py

Собирает сообщения за последние N дней из указанных каналов. Период задаётся в config.py, параметр MONTH.

Запуск:

python collect_old_posts.py

Результат работы — CSV-файл с постами, отправляемый в указанный чат. При необходимости, логику можно адаптировать под собственные задачи.


Скрипт: get_updates.py

Отслеживает и обрабатывает новые сообщения в реальном времени из заданных чатов и каналов.

Запуск:

python get_updates.py

Скрипт отправит посты/сообщения в указанный чат. При необходимости, логику можно адаптировать под собственные задачи.


Примечание для пользователей Debian/Ubuntu

Если команда python отсутствует:

sudo apt install python-is-python3 -y

Рекомендации по окружению

Рекомендуется использовать виртуальное окружение:

python -m venv .venv
source .venv/bin/activate

Либо использовать более мощные инструменты, такие как conda, для управления зависимостями и изоляцией окружения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages