Команды бота
Основной игровой процесс будет происходить через клавиатуру бота. В то время как управления комнатами будет происходить через команды бота.
Если вы в первый рз и не понимаете, проще говоря:
- Кнопки прикрепляются к сообщению и по ней вы можете нажать.
- Команды - сообщения, которые начинаются с
/. Для ботов такие сообщения как знак: Сделай такое-то действие, которое попросил пользователь.
Про комнаты и игры
В данном контексте комната и игры являются синонимами. Если игра рассматривается как игровая сессия, то комната - сессия в более общем смысле, которое не обязательно должна привязываться к игре.
А теперь давайте рассмотрим какие команды есть в боте!
Игровой процесс
/game
Создаёт новую комнату в чате.
Отправляет статус комнаты, который содержит информацию о комнате и список игроков. Также к сообщению будут прикреплены кнопки чтобы присоединиться, настроить правила игры и начать игру.
Когда игрок заходил/покидает игру, сообщение лобби изменяется. Ещё сообщение обновляется, когда начинается новая игра.
В чате может существовать только одна комната. Если вы снова используете команду, будет отправлено новое сообщение лобби, а старое больше не будет изменяться.
/start_game
Начинает новую игру в комнате. Также можно воспользоваться кнопкой в статусе комнаты. Использовать команду при уже начатой игре не получится.
Обратите внимание что начать игру может каждый игрок зашедший в комнату.
/join
Для того чтобы стать участником игры, можно воспользоваться данной командой. также вы можете использовать кнопку из статуса комнаты.
Отличие в том, что при использовании команды вы можете зайти в комнату, даже когда игра началась. (только если комнату не закрыли)
Если вы уже являетесь участником комнаты, команда не даст никакого эффекта.
/leave
используйте эту команду, чтобы самостоятельно покинуть комнату. Если сейчас ваш ход, он будет передан следующему игроку. Выходи игрока из игры с картами в руках засчитывается как проигрыш. Вы сможете вернуться в игру, если комната не закрыта.
Администрирование
Позволяет управлять игровым процессом. Для данных команд надо быть или владельцем комнаты или администратором чата, в котором создана комната.
/skip
Пропускает текущего игрока. Помимо пропуска игрок также берёт карту. Если игрок должен взять несколько карт. он берёт их и ещё одну штрафную. Если игра приостановилась на выборе цвета - будет выбран случайный цвет. Ход передаётся следующему игроку.
Бывает полезно если игрок отошёл на долго и игра приостановилась.
/kick
Выбрасывает игрока из игры. Перешлите сообщение игрока, которого хотите исключить из игры. Для игрока это будет считаться проигрышем. поскольку у него ещё остались карты. Если это был текущий игрок, ход будет передан следующему игроку. Если игра приостановилась на выборе цвета, будет выбран случайный цвет.
Обратите внимание, если комната не закрыта, игрок может зайти вновь.
/close
Закрывает комнату для новых игроков.
До окончания игры никто не сможет присоединиться к комнате. Рекомендуется закрывать комнату после начла игры, если не хотите чтобы вам помешали.
Бывает полезно, чтобы уже выигравшие/проигравшие игроки не заходили повторно.
/open
Открывает комнату для всех игроков.
теперь новые игроки смогут заходить в комнату. А ещё это значит что ранее выигравшие/проигравшие тоже смогут зайти. Это никак не контролируется.
/rules
Отправляет сообщение с выбранными игровыми правилами. Также вы можете получить это сообщение по кнопку сообщения статуса. Здесь вы можете выбрать набор игровых правил, чтобы изменить поведение игры. Рекомендуется для тех, кто уже научился играть и хочет попробовать что-то новое. Изменять правила могут только активные игроки в комнате.
Будьте осторожны. Правила можно изменять прямо в процессе игры.
/stop
Принудительно завершает игру.
Аналогичен нормальному завершению игры. Все игрок с картами в руках становятся проигравшими. В чат отправляется сообщение с результатами игры.
Бывает полезно если игра затягивается или надо остановить хаос.
Статус
Немного информационных команд, которую вы посмотрите один раз и забудете.
/help
в личные сообщения пользователя будет отправлена справка. В справке описаны первые шаги чтобы начать играть, а также самые часто используемые команды бота.
/status
В чат будет отправлено сообщение с основной информацией о проекте. Включает в себя версию, цель проекта, ссылки на исходный код и канал с актуальными новостями.