diff options
author | Adam <Adam@anope.org> | 2015-12-13 19:27:15 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2015-12-13 19:27:15 -0500 |
commit | 56abaf8498db9f786dfa10eae87317ca5c14ce42 (patch) | |
tree | 8e324505b01c3fb78911994a8b2df31b44bc24de /modules/m_xmlrpc_main.cpp | |
parent | 5394f5433a1d85be9a35d9b46d9384a6b646106d (diff) |
Add notice method to m_xmlrpc_main
Diffstat (limited to 'modules/m_xmlrpc_main.cpp')
-rw-r--r-- | modules/m_xmlrpc_main.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/modules/m_xmlrpc_main.cpp b/modules/m_xmlrpc_main.cpp index 13645bc98..38cb4a8d7 100644 --- a/modules/m_xmlrpc_main.cpp +++ b/modules/m_xmlrpc_main.cpp @@ -59,6 +59,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; } @@ -249,6 +251,21 @@ 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] : ""; + + BotInfo *bi = BotInfo::Find(from, true); + User *u = User::Find(to, true); + + if (!bi || !u || message.empty()) + return; + + u->SendMessage(bi, message); + } }; class ModuleXMLRPCMain : public Module |