Skip to content

radio-t bot слушает чат telegram и реагирует на определенные команды и фрагменты текста.

License

Notifications You must be signed in to change notification settings

radio-t/super-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5581158 · Feb 28, 2025
Feb 26, 2025
Feb 28, 2025
Dec 13, 2022
Feb 26, 2025
Sep 17, 2022
Apr 11, 2023
Feb 26, 2025
Feb 28, 2025
May 30, 2024
Mar 10, 2023
May 30, 2024
Feb 15, 2025
Sep 17, 2022
Jan 28, 2020
Feb 26, 2025
Feb 26, 2025
Feb 28, 2025

Repository files navigation

Telegram бот подкаста Радио-Т

Build Status Go Report Card Coverage Status

Основная функциональность

Бот слушает чат Telegram и реагирует на определенные команды и фрагменты текста. Кроме этого, он слушает API новостей и публикует в Telegram сообщения о начале выпуска и смене тем.

С ботом можно общаться тет-а-тет, не засорая общий чат.

В режиме экспортирования сохраняет лог сообщений в HTML файл.

Статус

Бот в работе несколько лет и успешно "участвовал" во многих подкастах.

Команды бота

Команда Описание
ping, пинг ответит pong, понг, см. basic.data
анекдот!, анкедот!, joke!, chuck! расскажет анекдот с jokesrv.fermyon.app или chucknorris.io
news!, новости! 5 последних новостей для Радио-Т
so! 1 вопрос со Stackoverflow
?? <запрос>, /ddg <запрос> поискать "<запрос>" на DuckDuckGo
search! <слово>, /search <слово> поискать по шоунотам подкастов
chat! <запрос> задать вопрос для ChatGPT

Инструкции по локальной разработке

Для создания тестового бота нужно обратиться к BotFather и получить от него токен.

После создания бота нужно вручную добавить в группу (Info / Add Members) и дать права администратора (Info / Edit / Administrators / Add Admin).

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

  • TELEGRAM_TOKEN – токен полученный от BotFather
  • TELEGRAM_GROUP - основная группа в Телеграмме (туда приходят уведомления о новостях, все сообщения сохраняются в лог)
  • MASHAPE_TOKEN – токен от сервиса Kong, используется только для DuckDuckGo бота
  • OPENAI_AUTH_TOKEN – токен от сервиса OpenAI Platform, используется только для получения ChatGPT ответов в OpenAI боте

Дополнительные переменные окружения со значениями по-умолчанию:

  • DEBUG (false) – включает режим отладки (логируется больше событий)
  • TELEGRAM_LOGS (logs) - путь к папке куда пишется лог чата, для того чтобы работал, необходимо чтобы в TELEGRAM_GROUP было публичное имя группы, в противном случае лог не будет писаться
  • SYS_DATA (data) - путь к папке с *.data файлами и шаблоном для построения HTML отчета
  • TELEGRAM_TIMEOUT (30s) – HTTP таймаут для скачивания файлов из Telegram при построении HTML отчета
  • RTJC_PORT (18001) – порт на который приходят уведомления о новостях

Запустить бота можно через Docker Compose:

docker-compose up telegram-bot

Или с помощью Make:

make run ARGS="--super=umputun --super=bobuk --super=grayru --super=ksenks"

Для построения HTML отчета необходимо передать дополнительные флаги:

docker-compose exec telegram-bot ./telegram-rt-bot \
  --super=umputun \
  --super=bobuk \
  --super=grayru \
  --super=ksenks \
  --export-num=688 \
  --export-path=html \
  --export-day=20200208 \
  --export-template=logs.html

или

make run ARGS="--super=umputun --super=bobuk --super=grayru --super=ksenks --export-num=688 --export-path=logs --export-day=20200208 --export-template=data/logs.html"

About

radio-t bot слушает чат telegram и реагирует на определенные команды и фрагменты текста.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages