Ночной дозор — разработка
Статья описывает процесс разработки телеграм-бота для игры, включая определение требований, создание логики игры, регистрацию бота, настройку CI/CD и использование GitHub для управления проектом.
1. Определим, что нам вообще нужно в итоге
Опросив ребят, которые хотят своего телеграм-бота, я получил такие критерии:
Оговоренные правила игры:
- Количество участников неограниченно
- Необходима регистрация участников
- Старт игры, через 15 приходит бесплатная подсказка + через 30 вторая + 45 минут координаты
- Можно запросить подсказку. За подсказку участнику записывается штраф по времени (первая +15, вторая +30 это можно устанавливать)
- Нужно писать, кто получил из команд подсказку.
- Администратор должен получать все уведомления об том, на каком этапе какая команда.
- Вопросы всегда идут поочередно. Один ведет к другому.
- Список вопросов можно менять.
- Код подходит только под следующий вопрос (соблюдая очередность)
- Победителем игры становится команда, конечное время которой является лучшим (наименьшим) при условии, что предыдущие уровни успешно пройдены и все коды переданы куратору.
- Конечное время определяется по следующей схеме: Время получения последнего кода + штофное время (если есть)
2. Нарисуем схему
Ролей в схеме будет две:
- От лица участника (начнем с неё), т.к. она определяет логику игры.
- От лица администратора
Фигма для блок-схем подойдет лучше всего тыц
Кажется, что логики немного, но только логических схем получилось восемь
3. Зарегистрируем бота
Свободных варианта только три:
- MotoNightWatchBot
- NightRiderQuestBot
- MotoHuntBot
Я выбрал MotoHuntBot, тут живёт наш бот t.me/MotoHuntBot
4. Медиа контент
Такс. Попросим DALLE сгенерировать нам иконку:
Ну… Он старался. Это лучшее из того, что было. Я выбрал 3 и пытался добиться от него норм картинки байка, но мозги калькулятора это не смогли и в итоге мы скатились к четвертому варианту. Тратить ещё время — непродуктивно.
5. Накидать план этапов
- Начнем с регистрации репы и CI/CD, я ненавижу что-то разворачивать 2 раза
- GitHub наше все https://github.com/lyucean/MotoHuntBot
- За основу, возьмем https://github.com/php-telegram-bot/core давно хотел с ней поработать
*
*
*
Статья в процессе написания…