diff options
| author | Sadie Powell <sadie@witchery.services> | 2024-06-24 14:29:55 +0100 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2024-06-24 14:29:55 +0100 |
| commit | 693eeed762eac490b1289f8f4428ff0b5bbf1672 (patch) | |
| tree | 974cbad287da04fc9e137d7f51092efd2e474acd /modules/botserv | |
| parent | 6e5713d64a379fc64c7ff6658362d02b3618c3ca (diff) | |
Rework how CTCP messages are sent and received.
Diffstat (limited to 'modules/botserv')
| -rw-r--r-- | modules/botserv/bs_control.cpp | 6 | ||||
| -rw-r--r-- | modules/botserv/bs_kick.cpp | 8 |
2 files changed, 4 insertions, 10 deletions
diff --git a/modules/botserv/bs_control.cpp b/modules/botserv/bs_control.cpp index 1784914b6..4847c8470 100644 --- a/modules/botserv/bs_control.cpp +++ b/modules/botserv/bs_control.cpp @@ -111,11 +111,7 @@ public: return; } - message = message.replace_all_cs("\1", ""); - if (message.empty()) - return; - - IRCD->SendAction(*ci->bi, ci->name, "%s", message.c_str()); + IRCD->SendPrivmsg(*ci->bi, ci->name, Anope::FormatCTCP("ACTION", message)); ci->bi->lastmsg = Anope::CurTime; bool override = !source.AccessFor(ci).HasPriv("SAY"); diff --git a/modules/botserv/bs_kick.cpp b/modules/botserv/bs_kick.cpp index 7d67a6577..f2a39dbf1 100644 --- a/modules/botserv/bs_kick.cpp +++ b/modules/botserv/bs_kick.cpp @@ -1215,11 +1215,9 @@ public: /* If it's a /me, cut the CTCP part because the ACTION will cause * problems with the caps or badwords kicker */ - if (realbuf.substr(0, 8).equals_ci("\1ACTION ") && realbuf[realbuf.length() - 1] == '\1') - { - realbuf.erase(0, 8); - realbuf.erase(realbuf.length() - 1); - } + Anope::string ctcpname, ctcpbody; + if (Anope::ParseCTCP(msg, ctcpname, ctcpbody) && ctcpname.equals_ci("ACTION")) + realbuf = ctcpbody; if (realbuf.empty()) return; |
