#ifndef BOT_QUESTIONHELPER #define BOT_QUESTIONHELPER #include #include #include #include #include #include #include class GatewayHandler; class APIHelper; namespace DiscordObjects { class User; } class TriviaGame { public: TriviaGame(GatewayHandler *gh, APIHelper *ah, std::string channel_id, int total_questions, int delay); ~TriviaGame(); void start(); void interrupt(); void handle_answer(std::string answer, DiscordObjects::User sender); private: int questions_asked; int total_questions; boost::posix_time::seconds interval; void question(); void give_hint(int hints_given, std::string hint); void question_failed(); void increase_score(std::string user_id); void update_average_time(std::string user_id, int time); std::string channel_id; GatewayHandler *gh; APIHelper *ah; const char hide_char = '#'; std::string current_question; std::set current_answers; // std::map scores; // std::map average_times; std::unique_ptr current_thread; boost::posix_time::ptime question_start; }; #endif