From 1406b3f9953c9c58972e1faf3f36ba7935b7563c Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 23 Sep 2016 21:20:39 -0400 Subject: Add notice method to m_xmlrpc_main --- modules/xmlrpc_main.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'modules/xmlrpc_main.cpp') diff --git a/modules/xmlrpc_main.cpp b/modules/xmlrpc_main.cpp index dc5f27ee6..cdbcf3266 100644 --- a/modules/xmlrpc_main.cpp +++ b/modules/xmlrpc_main.cpp @@ -79,6 +79,8 @@ class MyXMLRPCEvent : public XMLRPCEvent this->DoUser(iface, client, request); else if (request.name == "opers") this->DoOperType(iface, client, request); + else if (request.name == "notice") + this->DoNotice(iface, client, request); return true; } @@ -271,6 +273,23 @@ class MyXMLRPCEvent : public XMLRPCEvent request.reply(ot->GetName(), perms); } } + + void DoNotice(XMLRPCServiceInterface *iface, HTTPClient *client, XMLRPCRequest &request) + { + Anope::string from = request.data.size() > 0 ? request.data[0] : ""; + Anope::string to = request.data.size() > 1 ? request.data[1] : ""; + Anope::string message = request.data.size() > 2 ? request.data[2] : ""; + + ServiceBot *bi = ServiceBot::Find(from, true); + User *u = User::Find(to, true); + + if (!bi || !u || message.empty()) + return; + + u->SendMessage(bi, message); + + request.reply("result", "Success"); + } }; class ModuleXMLRPCMain : public Module -- cgit