/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2014 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2017-2018 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2014, 2016 Attila Molnar <attilamolnar@hush.com>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
CommandClearChan(Module* Creator)
: Command(Creator, "CLEARCHAN", 1, 3)
{
- syntax = "<channel> [<KILL|KICK|G|Z>] [<reason>]";
+ syntax = "<channel> [KILL|KICK|G|Z] [:<reason>]";
flags_needed = 'o';
// Stop the linking mod from forwarding ENCAP'd CLEARCHAN commands, see below why
force_manual_route = true;
}
- CmdResult Handle(const std::vector<std::string>& parameters, User* user)
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
{
Channel* chan = activechan = ServerInstance->FindChan(parameters[0]);
if (!chan)
// The idea is that by the time our QUITs reach the next hop, it has already removed all their
// clients from the channel, meaning victims on other servers won't see the victims on this
// server quitting.
- std::vector<std::string> eparams;
+ CommandBase::Params eparams;
eparams.push_back(chan->name);
eparams.push_back(method);
eparams.push_back(":");
XLine* xline;
try
{
- mask = ((method[0] == 'Z') ? curr->GetIPString() : "*@" + curr->host);
+ mask = ((method[0] == 'Z') ? curr->GetIPString() : "*@" + curr->GetRealHost());
xline = xlf->Generate(ServerInstance->Time(), 60*60, user->nick, reason, mask);
}
- catch (ModuleException& ex)
+ catch (ModuleException&)
{
// Nothing, move on to the next user
continue;
{
}
- void init()
+ void init() CXX11_OVERRIDE
{
// Only attached while we are working; don't react to events otherwise
ServerInstance->Modules->DetachAll(this);
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Adds /CLEARCHAN that allows opers to masskick, masskill or mass-G/ZLine users on a channel", VF_VENDOR|VF_OPTCOMMON);
+ return Version("Adds the /CLEARCHAN command which allows server operators to mass-punish the members of a channel.", VF_VENDOR|VF_OPTCOMMON);
}
};