ТЗ для игрового бота - мотиватора.
/start
Бот приветствует пользователя и предлагает ознакомиться с главным меню.
Пользователь выбирает пункт "Профиль" из главного меню.
Бот показывает статистику пользователя: рейтинг, количество достижений, выполненные дейлики/еженедельные задания, внесенные/потерянные деньги на ставках, успешные спринты, баланс валюты.
Пользователь возвращается в главное меню.
Пользователь выбирает пункт "Достижения" из главного меню.
Бот показывает полученные и не полученные достижения, как кастомные, так и готовые. Предлагает добавить достижение.
Пользователь возвращается в главное меню.
Пользователь выбирает пункт "Желания и цели" из главного меню.
Бот показывает кастомные желания и цели пользователя, подменю для подтверждения выполнения с медиа отчетом. При первом запуске бот предлагает заполнить желания и цели.
Пользователь возвращается в главное меню.
Пользователь выбирает пункт "Рутина" из главного меню.
Бот показывает ежедневные задания, которые пользователь может выполнять в течение недели/месяца для получения наград. При первом запуске бот предлагает заполнить задания.
Пользователь возвращается в главное меню.
Пользователь выбирает пункт "Бросить вызов" из главного меню.
Бот предлагает пользователю выбрать случайного пользователя или друга для броска вызова, подтвердить выполнение прогресса в промежуток времени, оповестить соперника о выполненном задании.
повторить вызов при малом сроке противостояния если противник покинул вызов.
сделать ставку с баланса со своими условиями победы.
Пользователь возвращается в главное меню.
Пользователь выбирает пункт "Топ рейтинга" из главного меню.
Бот показывает рейтинг пользователей - вывод лучших игроков с суммой ставок и возможностью перехода в профиль, полученные достижения.
Смысл вызова
пользователь бросает вызов другому игроку с описанными им условиями(Пример-Заработать миллион за месяц)
противник соглашается на условия. В течении установленного срока будут итерации по предоставлению подтверждений движения к цели вызова
Пользователь может делать ставку на свою победу. В случае победы - он возвращает деньги себе(мотивация) или нет в случае поражения.
пользователь будет получать информацию о выполнении вызова соперником.