From d75a5081c57c06e261b040a39078257a141864dd Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Sun, 21 Apr 2024 01:43:16 +0500 Subject: feat: message handlers --- src/irc/client.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/irc/client.hpp') diff --git a/src/irc/client.hpp b/src/irc/client.hpp index e6846d2..6f0791f 100644 --- a/src/irc/client.hpp +++ b/src/irc/client.hpp @@ -4,6 +4,8 @@ #include +#include "message.hpp" + namespace RedpilledBot { namespace IRC { class Client { @@ -13,6 +15,17 @@ namespace RedpilledBot { void run(); + template + void on(typename MessageHandler::fn function) { + switch (T) { + case Privmsg: + this->onPrivmsg = function; + break; + default: + break; + } + } + private: void authorize(); @@ -23,6 +36,9 @@ namespace RedpilledBot { std::string port; ix::WebSocket websocket; + + // Message handlers + typename MessageHandler::fn onPrivmsg; }; } } -- cgit v1.2.3