Giter VIP home page Giter VIP logo

super-bot's Introduction

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

Build Status Go Report Card Coverage Status

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

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

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

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

Статус

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

Команды бота

Команда Описание
ping, пинг ответит pong, понг, см. basic.data
анекдот!, анкедот!, joke!, chuck! расскажет анекдот с rzhunemogu.ru или icndb.com (нужен MASHAPE_TOKEN)
news!, новости! 5 последних новостей для Радио-Т
so! 1 вопрос со Stackoverflow
?? <запрос>, /ddg <запрос> поискать "<запрос>" на DuckDuckGo
search! <слово>, /search <слово> поискать по шоунотам подкастов

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

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

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

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

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

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

  • 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"

super-bot's People

Contributors

chuhlomin avatar jaitl avatar semior001 avatar senpos avatar serialsmile avatar spiritofsim avatar tsenzuk avatar umputun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.