#pragma once #include #include #include namespace emotespp { struct Emote { std::string id; std::string code; std::optional original_code; }; template class RetrieveEmoteWebsocket { public: void on_emote_create( std::function, T)> func) { this->emote_create = func; } void on_emote_delete( std::function, T)> func) { this->emote_delete = func; } void on_emote_update( std::function, T)> func) { this->emote_update = func; } protected: std::optional< std::function, T)>> emote_create; std::optional< std::function, T)>> emote_delete; std::optional< std::function, T)>> emote_update; }; }