A bot that collects summaries from chat messages.
Проект: Телеграм-бот для краткого пересказа последних сообщений в группе
Сделать телеграм-бота, который умеет по команде /summary N брать последние N сообщений из группового чата и выдавать их короткий пересказ
- Подключение к Telegram
- Создать бота через
@BotFather - Получить токен и хранить его в переменной окружения
- Подключить библиотеку
python-telegram-botили аналог
- Хранение сообщений
- Все новые сообщения в группе, где есть бот, должны сохраняться в базу (например,
SQLite) - Ограничить хранение: максимум 5000 последних сообщений (старые удалять)
- Команда
/summary N
- Пользователь пишет
/summary 50-> бот берёт последние 50 сообщений - Если число не указано, брать
100по умолчанию - Если сообщений нет - написать «Нет сообщений для пересказа»
- Функция пересказа (суммаризации)
- Собрать выбранные сообщения в один текст
- Отправить их в API
GigaChat - Получить короткий пересказ
- Ответить в чат этим пересказом
- Запуск и работа
- Бот должен работать на сервере или локально, пока тестируем
- При падении не должен ломаться
- Нужен простой лог ошибок
- Код писать максимально просто и понятно, без магии
- Оставлять комментарии к каждому важному шагу
- Использовать Python 3.10+
- Секретные ключи (
TELEGRAM_TOKEN,GIGACHAT_API_KEY) хранить в.envили переменных окружения
- Бот добавлен в группу
- При вводе команды
/summary 20бот выдаёт осмысленный краткий пересказ последних 20 сообщений - Если сообщений мало - берёт сколько есть
- Работает стабильно хотя бы неделю без ошибок
- Если сообщений мало, берётколько есть
- Работает стабильно хотя бы неделю без ошибок