Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

License

Notifications You must be signed in to change notification settings

alexkart/super-bot

 
 

Repository files navigation

Telegram бот

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

Бот слушает чат Telegram и реагирует на определенные команды и фрагменты текста.

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

Статус

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

Команды бота

Команда Описание
ping, пинг ответит pong, понг, см. basic.data
анекдот!, анкедот!, joke!, chuck! расскажет анекдот с jokesrv.fermyon.app или chucknorris.io
so! 1 вопрос со Stackoverflow
?? <запрос>, /ddg <запрос> поискать "<запрос>" на DuckDuckGo
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) - путь к папке куда пишется лог чата
  • 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

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.1%
  • HTML 2.3%
  • Other 0.6%