infamax / WhyWhereWhatBot

Телеграмм бот для игры в Что? Где? Когда?

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Что это?

Это телеграмм бот, написанный на языке golang. Он предоставляет функционал, необходимый для игры Что? Где? Когда?

Реализованный функционал

Был реализован базовый функционал бота:

  • Выдача пользователю списка вопросов
  • Проверка ответа на них
  • Выдача таблицы лидеров
  • Выдача положение пользователя в текущем рейтинге
  • Установка таймера на определенное время. В нашем случае 60 секунд

Как запустить?

Для запуска бота понадобится иметь установленный docker на вашем компьютере или сервере и желательно также git.

  1. Скопируйте все файлы себе на компьютер. Вы можете это проделать руками. Или применить команду git clone
  2. Соберите docker образы c помощью команды docker-compose build
  3. Последним шагом запустите бота с помощью команды docker-compose up

Конфиг

Для бота был написан config

В файле config/config.yaml:

Напишете token вашего бота, выдается bot father при создании бота

Хотелось бы добавить или исправить:

  • Разнести все на отдельные сервисы
  • Обработчик вопросов. Заметил при проверке работоспособности бота, что не все вопросы подходят для выдачи. Так как в некоторых вопросы предназначены для проведения блица, в ряде вопросов есть сноски как их следует читать.
  • Также заметил, что не у всех пользователей в телеграмме есть username. И поэтому было бы неплохо добавить свой сервис регистрации
  • Также хотелось бы добавить при правильном ответе на вопрос всплывающую реакцию ✅, а при неправильном ❌
  • Еще было бы неплохо добавить режим игры как в реальном Что? Где? Когда?. То есть возможность пользователем создать команду из 6 человек. И провести раунд до 6 очков
  • Проверка правильности орфографии слова. Было бы неплохо засчитывать правильный ответ если пользователь ошибся в нескольких буквах Но ответ все равно верный. Например, слово "превет" сервис орфографии должен будет преобразовать в слово "привет"
  • Сервис статистики ответа на вопрос. Проверка как пользователи ответили на каждый из вопросов. Например, пользователь закончил игру и хочет узнать сколько правильно ответило пользователей на вопросы, которые у него были
  • Обернуть все в docker-image

About

Телеграмм бот для игры в Что? Где? Когда?


Languages

Language:Go 99.4%Language:Shell 0.6%