#pragma once #include #include #include "../irc/message.hpp" #include "command.hpp" namespace bot { namespace command { class Request { public: Request(const command::CommandLoader &command_loader, const irc::Message &irc_message) : irc_message(irc_message), command_loader(command_loader){}; ~Request() = default; bool fill_request(); const std::string &get_command_id() const { return this->command_id; }; const std::optional &get_subcommand_id() const { return this->subcommand_id; }; const std::optional &get_message() const { return this->message; }; const irc::Message &get_irc_message() const { return this->irc_message; }; private: std::string command_id; std::optional subcommand_id; std::optional message; const irc::Message &irc_message; const command::CommandLoader &command_loader; }; } }