#include "test.hpp" #include "../utility.hpp" #include #include using fmt::operator""_format; const auto serviceChannelName = "#servicechannel"; async::result TestService::intitialize() { co_await i->netInfo.wait_ready(); user = { .server = i->config.get().server.uid, .nick = "services", .ident = "services", .realhost = "services.", .uid = uuid, .realname = i->netInfo.name, .loginName = "serviceD" }; Channel serviceChannel = { .server = i->config.get().server.uid, .name = serviceChannelName }; co_await mark_ready(user); co_await i->send_event(serviceChannel.get_sjoin(user.uid)); co_await i->send_event(serviceChannel.get_topic("IRC Service channel", user.uid)); //co_await i->send_event(user.get_encap_su("serviceD")); DOES NOT YET WORK!! co_await i->send_event(user.get_notice("Test... Hello world!", serviceChannelName)); } async::result TestService::on_event(const Event& event) { co_return; } async::result TestService::on_direct_privmsg(std::string_view msg, u_User &author) { auto cmd = Utility::strSplit(msg, ' ', 1); Event response = user.get_notice("You need to log in first", author->uid); if (cmd[0] == "SEND") { if (author->loginName.value_or("") == "NetOP") { Event event; try { event.parse(cmd[1]); co_await i->send_event(event); response = user.get_notice("Sent.", author->uid); } catch (std::exception&e) { response = user.get_notice(e.what(), author->uid); } } } else { response = user.get_notice("Unknown command", author->uid); } co_await i->send_event(response); }