HONDA VT750S
03.03.2024 #Dev

Ночной дозор — разработка

Статья описывает процесс разработки телеграм-бота для игры, включая определение требований, создание логики игры, регистрацию бота, настройку CI/CD и использование GitHub для управления проектом.

1. Определим, что нам вообще нужно в итоге

Опросив ребят, которые хотят своего телеграм-бота, я получил такие критерии:

Оговоренные правила игры:

  • Количество участников неограниченно 
  • Необходима регистрация участников
  • Старт игры, через 15 приходит бесплатная подсказка + через 30 вторая + 45 минут координаты
  • Можно запросить подсказку. За подсказку участнику записывается штраф по времени (первая +15, вторая +30 это можно устанавливать)
  • Нужно писать, кто получил из команд подсказку.
  • Администратор должен получать все уведомления об том, на каком этапе какая команда.
  • Вопросы всегда идут поочередно. Один ведет к другому.
  • Список вопросов можно менять.
  • Код подходит только под следующий вопрос (соблюдая очередность)
  • Победителем игры становится команда, конечное время которой является лучшим (наименьшим) при условии, что предыдущие уровни успешно пройдены и все коды переданы куратору.
  • Конечное время определяется по следующей схеме: Время получения последнего кода + штофное время (если есть)

Пример такой игры во ВК

2. Нарисуем схему

Ролей в схеме будет две:

  1. От лица участника (начнем с неё), т.к. она определяет логику игры.
  2. От лица администратора

Фигма для блок-схем подойдет лучше всего тыц

Кажется, что логики немного, но только логических схем получилось восемь

3. Зарегистрируем бота

Свободных варианта только три:

  • MotoNightWatchBot     
  • NightRiderQuestBot
  • MotoHuntBot

Я выбрал MotoHuntBot, тут живёт наш бот t.me/MotoHuntBot

4. Медиа контент

Такс. Попросим DALLE сгенерировать нам иконку:

Ну… Он старался. Это лучшее из того, что было. Я выбрал 3 и пытался добиться от него норм картинки байка, но мозги калькулятора это не смогли и в итоге мы скатились к четвертому варианту. Тратить ещё время — непродуктивно.

5. Накидать план этапов

*
*
*

Статья в процессе написания…