Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Бот для Slack

Это код простейшего бота для слака, которого нужного научить обрабатывать различные команды.

Чтобы добавить свой обработчик, нужно добавить свой файл в command_handler/, зарегистрировать класс в пуле соответствующим декоратором, а также добавить в bot.py импорт соответствующего хендлера.

Идеи команд

  • Калькулятор с поддержкой простейших арфиметических операций и скобок.
  • Бросатель кубиков в днд-нотацции: 2d20, 3d6. Можно объединить с калькулятором.
  • Поиска ответа по StackOverflow.
  • Любой другой поиска, например, dndbeyond.com.
  • Крестики-нолики: сделать ход, сбросить партию, показать статистику матчей*.
  • Погода в указанном городе.
  • Сохранить сообщение, выдать последнее сохраненное, выдать случайное сохраненное.
  • Задать вопрос из базы, похвалить ответившего правильно, показать лучших трех отвечавших*.
  • Информация о музыкальных группах из инфокарт с Википедии.
  • Игра "виселица": запустить, принять ответ, перезапустить. Можно сделать поддержку нескольких партий одновременно.
  • Работа с системой: ls, cat, man. Вывести первые N символов, по отдельной команде следующие N.

* чтобы узнать имя пользователя, понадобятся изменения в клиенте.

Системные задачи

  • Автоматически импортировать все хендлеры из command_handler/.
  • Подгружать новые хендлеры из command_handler/ без перезапуска клиента (если они появились или обновлись).
  • Расширить протокол общения с хендлером. Посылать в него дополнительные данные о сообщении. Разрешить ему говорить "не обрабатывай эту команду другими хендлерами", возвращать массив сообщений (в том числе пустой), возвращать колбек и т. д. Обратную совместимость нужно сохранить.
  • Банить хендлеры после N ошибок. Если реализована динамическая подгрузка, то надо разбанивать при обновлении.
  • Запускать хендлеры в тредах.