diff options
author | Peter Powell <petpow@saberuk.com> | 2019-06-04 14:50:47 +0100 |
---|---|---|
committer | P. Powell <petpow@saberuk.com> | 2019-09-23 13:23:02 +0100 |
commit | d88d8e940e2c2e3b766968f9639aedafdb3ba0a9 (patch) | |
tree | 4802a1915ebf6b3f26d485e54ef81d4ca4071803 /modules/protocol/inspircd3.cpp | |
parent | b2c3775b58e4c2bde26707854d0c00792f4c120e (diff) |
Update for the 1205 KICK syntax.
Diffstat (limited to 'modules/protocol/inspircd3.cpp')
-rw-r--r-- | modules/protocol/inspircd3.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/modules/protocol/inspircd3.cpp b/modules/protocol/inspircd3.cpp index 15aca6913..eb12ac9b2 100644 --- a/modules/protocol/inspircd3.cpp +++ b/modules/protocol/inspircd3.cpp @@ -1239,6 +1239,21 @@ struct IRCDMessageFIdent : IRCDMessage } }; +struct CoreExport IRCDMessageKick : IRCDMessage +{ + IRCDMessageKick(Module *creator) : IRCDMessage(creator, "KICK", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); } + + void Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override + { + Channel *c = Channel::Find(params[0]); + if (c) + return; + + const Anope::string &reason = params.size() > 3 ? params[3] : ""; + c->KickInternal(source, params[1], reason); + } +}; + struct IRCDMessageSave : IRCDMessage { time_t last_collide; @@ -1717,7 +1732,6 @@ class ProtoInspIRCd3 : public Module /* Core message handlers */ Message::Error message_error; Message::Invite message_invite; - Message::Kick message_kick; Message::Kill message_kill; Message::MOTD message_motd; Message::Notice message_notice; @@ -1733,6 +1747,7 @@ class ProtoInspIRCd3 : public Module IRCDMessageEncap message_encap; IRCDMessageFHost message_fhost; IRCDMessageFIdent message_fident; + IRCDMessageKick message_kick; IRCDMessageMetadata message_metadata; IRCDMessageSave message_save; IRCDMessageEndburst message_endburst; @@ -1759,10 +1774,10 @@ class ProtoInspIRCd3 : public Module public: ProtoInspIRCd3(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL | VENDOR), ircd_proto(this), - message_error(this), message_invite(this), message_kick(this), message_kill(this), + message_error(this), message_invite(this), message_kill(this), message_motd(this), message_notice(this), message_part(this), message_ping(this), message_privmsg(this), message_quit(this), message_stats(this), message_away(this), message_capab(this), - message_encap(this), message_fhost(this), message_fident(this), + message_encap(this), message_fhost(this), message_fident(this), message_kick(this), message_metadata(this, use_server_side_topiclock, use_server_side_mlock), message_save(this), message_endburst(this), message_fjoin(this), message_fmode(this), message_ftopic(this), message_idle(this), message_mode(this), message_nick(this), message_opertype(this), message_rsquit(this), message_server(this), |