/*
* InspIRCd -- Internet Relay Chat Daemon
*
- * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ * Copyright (C) 2013, 2017-2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012-2015 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
*
* 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
, jointime("delaymsg", ExtensionItem::EXT_MEMBERSHIP, Parent)
{
ranktoset = ranktounset = OP_VALUE;
+ syntax = "<seconds>";
}
bool ResolveModeConflict(std::string& their_param, const std::string& our_param, Channel*) CXX11_OVERRIDE
{
- return (atoi(their_param.c_str()) < atoi(our_param.c_str()));
+ return ConvToNum<intptr_t>(their_param) < ConvToNum<intptr_t>(our_param);
}
ModeAction OnSet(User* source, Channel* chan, std::string& parameter) CXX11_OVERRIDE;
Version ModuleDelayMsg::GetVersion()
{
- return Version("Provides channel mode +d <int>, to deny messages to a channel until <int> seconds have passed", VF_VENDOR);
+ return Version("Adds channel mode d (delaymsg) which prevents newly joined users from speaking until the specified number of seconds have passed.", VF_VENDOR);
}
void ModuleDelayMsg::OnUserJoin(Membership* memb, bool sync, bool created, CUList&)
{
if (channel->GetPrefixValue(user) < VOICE_VALUE)
{
- user->WriteNumeric(ERR_CANNOTSENDTOCHAN, channel->name, InspIRCd::Format("You must wait %d seconds after joining to send to the channel (+d)", len));
+ const std::string message = InspIRCd::Format("You cannot send messages to this channel until you have been a member for %d seconds.", len);
+ user->WriteNumeric(Numerics::CannotSendTo(channel, message));
return MOD_RES_DENY;
}
}