Announce UserContext struct

This commit is contained in:
Kirill 2025-11-27 17:33:04 +03:00
parent 3d8abc3f0c
commit 167e2323be

View file

@ -2,6 +2,7 @@
#include <tgbot/tgbot.h>
#include <string>
#include <structs.hpp>
#include <unordered_map>
/// @brief Структура возвращаемого значения класса BotHandlers для изменения текущего сообщения
struct HandlerResult {
@ -9,6 +10,22 @@ struct HandlerResult {
TgBot::InlineKeyboardMarkup::Ptr keyboard;
};
enum class UserState {
MAIN_MENU, // Главное меню
VIEWING_MY_TITLES, // Список моих тайтлов
AWAITING_TITLE_NAME, // Жду название тайтла для поиска
VIEWING_TITLE_PAGE, // Смотрю страничку тайтла
AWAITING_REVIEW, // Жду ревью на тайтл
VIEWING_REVIEW_LIST, // Смотрю список ревью на тайтл
VIEWING_REVIEW, // Смотрю (конкретное) ревью на тайтл
VIEWING_DESCRIPTION, // Смотрю описание тайтла
};
struct UserContext {
UserState state;
// Информация о тайтле
};
class BotHandlers {
public:
BotHandlers(TgBot::Api api) : botApi(api) {;}
@ -28,6 +45,7 @@ public:
private:
TgBot::Api botApi;
std::unordered_map<int64_t, UserContext> userContexts;
void handleNavigation(TgBot::CallbackQuery::Ptr query);