diff options
Diffstat (limited to 'src/messages.cpp')
-rw-r--r-- | src/messages.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/messages.cpp b/src/messages.cpp index 2faa1cbb1..784b482cc 100644 --- a/src/messages.cpp +++ b/src/messages.cpp @@ -94,6 +94,25 @@ bool CoreIRCDMessageJoin::Run(MessageSource &source, const std::vector<Anope::st return true; } + +bool CoreIRCDMessageKick::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override +{ + const Anope::string &channel = params[0]; + const Anope::string &users = params[1]; + const Anope::string &reason = params.size() > 2 ? params[2] : ""; + + Channel *c = findchan(channel); + if (!c) + return true; + + Anope::string user; + commasepstream sep(users); + + while (sep.GetToken(user)) + c->KickInternal(source, user, reason); + return true; +} + bool CoreIRCDMessageKill::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override { User *u = finduser(params[0]); |