mirror of
https://github.com/artemium428/first-commenting-bot.git
synced 2026-09-15 16:46:19 +00:00
Auto-replies in a channel discussion chat with HTML text from comment.txt. Co-authored-by: Cursor <cursoragent@cursor.com>
2.7 KiB
2.7 KiB
First commenting bot
Telegram-бот, который в discuss-чате канала отвечает заданным текстом на каждый новый пост (автофорвард из канала).
Как это работает
- В канале выходит пост.
- Telegram сам дублирует его в привязанный discussion-чат.
- Бот видит сообщение с
is_automatic_forward(автофорвард из канала). - Бот делает reply с текстом из файла
comment.txt.
Бот слушает discuss-чат, не сам канал. В канал его добавлять не нужно.
Обычные сообщения, личка и команды (/start и т.п.) бот игнорирует — на них нет обработчиков.
Настройка в Telegram
- Создайте бота у @BotFather и скопируйте токен.
- В настройках канала включите Discussion и привяжите супергруппу.
- Добавьте бота в discuss-чат и сделайте админом с правом писать сообщения.
- Узнайте
chat_iddiscuss-чата (отрицательный, вида-100...). Удобные способы:- переслать любое сообщение из чата боту вроде @userinfobot;
- временно залогировать
message.chat.idв боте.
Установка и запуск
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
Заполните .env:
| Переменная | Описание |
|---|---|
BOT_TOKEN |
Токен от BotFather |
DISCUSSION_CHAT_ID |
ID discuss-супергруппы (-100...) |
COMMENT_FILE |
Опционально: путь к файлу с текстом ответа (относительно корня проекта или абсолютный). По умолчанию — comment.txt |
Текст ответа редактируйте в comment.txt в корне проекта (можно многострочный HTML).
Запуск:
python -m bot.main
Тесты:
python -m pytest
Проверка
- Запустите бота.
- Опубликуйте тестовый пост в канале.
- В discuss-чате появится автофорвард — бот ответит reply’ем текстом из
comment.txt. - Обычное сообщение в чат бот игнорирует.