#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channelban: Implements extended ban j:, which stops anyone already
-# in a channel matching a ban like +b j:#channel*mask from joining.
+# in a channel matching a ban like +b j:#channel from joining.
+# It is also possible to ban based on their status in that channel,
+# like so: +b j:@#channel, this example prevents the ops from joining.
# Note that by default wildcard characters * and ? are allowed in
-# channel names. To disallow them, load m_channames and add characters
-# 42 and 63 to denyrange (see above).
+# channel names. To disallow them, load the channames module and
+# add characters 42 and 63 to denyrange (see above).
#<module name="channelban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection class ban module: Adds support for extban 'n' which
# matches against the class name of the user's connection.
# This module assumes that connection classes are named in a uniform
-# way on all servers of the network.
+# way on all servers of the network. Wildcards are accepted.
#<module name="classban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Network business join module:
# Allows an oper to join a channel using /OJOIN, giving them +Y on the
-# channel which makes them immune to kick/deop/etc.
+# channel which makes them immune to kicks.
#<module name="ojoin">
#
# Specify the prefix that +Y will grant here.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Serverban: Implements extended ban 's', which stops anyone connected
# to a server matching a mask like +b s:server.mask.here from joining.
+# Wildcards are accepted.
#<module name="serverban">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
if (no_chan_priv && chan->IsModeSet(moderatedmode))
{
// The moderated mode is set and the source has no status rank.
- source->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (+m)");
+ source->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (+m is set)");
return CMD_FAILURE;
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("sqlite3 provider", VF_VENDOR);
+ return Version("Provides SQLite3 support", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides SSL support for clients", VF_VENDOR);
+ return Version("Provides SSL support via GnuTLS", VF_VENDOR);
}
ModResult OnCheckReady(LocalUser* user) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides SSL support for clients", VF_VENDOR);
+ return Version("Provides SSL support via OpenSSL", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for channel mode +A, allowing /INVITE freely on a channel, and extban A to deny specific users it", VF_VENDOR);
+ return Version("Provides channel mode +A to allow /INVITE freely on a channel, and extban 'A' to deny specific users it", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Display timestamps from all servers connected to the network", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the ALLTIME command, displays timestamps from all servers connected to the network", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Allows for auditorium channels (+u) where nobody can see others joining and parting or the nick list", VF_VENDOR);
+ return Version("Provides channel mode +u, auditorium channels where nobody can see others joining and parting or the nick list", VF_VENDOR);
}
/* Can they be seen by everyone? */
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the +w channel mode", VF_VENDOR);
+ return Version("Provides channel mode +w, basic channel access controls", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the +e channel mode", VF_VENDOR);
+ return Version("Provides channel mode +e, ban exceptions", VF_VENDOR);
}
};
// Block all control codes except \001 for CTCP
if ((*i >= 0) && (*i < 32) && (*i != 1))
{
- user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send colors to channel (+c set)");
+ user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send colors to channel (+c is set)");
return MOD_RES_DENY;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides user and channel +G mode",VF_VENDOR);
+ return Version("Provides user and channel mode +G", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides snomasks 'j' and 'J', to which notices about newly created channels are sent",VF_VENDOR);
+ return Version("Provides snomasks 'j' and 'J', to which notices about newly created channels are sent", VF_VENDOR);
}
void OnUserJoin(Membership* memb, bool sync, bool created, CUList& except) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides channel history replayed on join", VF_VENDOR);
+ return Version("Provides channel mode +H, allows for the channel message history to be replayed on join", VF_VENDOR);
}
};
public:
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Extban 'j' - channel status/join ban", VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides extban 'j', ban users that are present in another channel, and optionally on their status there", VF_OPTCOMMON|VF_VENDOR);
}
ModResult OnCheckBan(User *user, Channel *c, const std::string& mask) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("CHECK command, view user, channel, IP address or hostname information", VF_VENDOR|VF_OPTCOMMON);
+ return Version("Provides the CHECK command to view user, channel, IP address or hostname information", VF_VENDOR|VF_OPTCOMMON);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the CHGHOST command", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the CHGHOST command", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the CHGIDENT command", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the CHGIDENT command", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the CHGNAME command", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the CHGNAME command", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Class 'n' - Connection class ban", VF_VENDOR | VF_OPTCOMMON);
+ return Version("Provides extban 'n', connection class bans", VF_VENDOR | VF_OPTCOMMON);
}
};
if (user->HasPrivPermission("users/ignore-commonchans") || user->server->IsULine())
return MOD_RES_PASSTHRU;
- user->WriteNumeric(ERR_CANTSENDTOUSER, targuser->nick, "You are not permitted to send private messages to this user (+c set)");
+ user->WriteNumeric(ERR_CANTSENDTOUSER, targuser->nick, "You are not permitted to send private messages to this user (+c is set)");
return MOD_RES_DENY;
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Adds user mode +c which requires users to share a common channel with you to private message you", VF_VENDOR);
+ return Version("Provides user mode +c, requires users to share a common channel with you to private message you", VF_VENDOR);
}
ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Custom title for users", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the TITLE command, custom titles for users", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the DCCALLOW command", VF_COMMON | VF_VENDOR);
+ return Version("Provides the DCCALLOW command", VF_COMMON | VF_VENDOR);
}
};
Version ModuleDelayJoin::GetVersion()
{
- return Version("Allows for delay-join channels (channel mode +D) where users don't appear to join until they speak", VF_VENDOR);
+ return Version("Provides channel mode +D, delay-join, users don't appear as joined to others until they speak", VF_VENDOR);
}
ModResult ModuleDelayJoin::OnNamesListItem(LocalUser* issuer, Membership* memb, std::string& prefixes, std::string& nick)
{
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));
+ user->WriteNumeric(ERR_CANNOTSENDTOCHAN, channel->name, InspIRCd::Format("You must wait %d seconds after joining to send to the channel (+d is set)", len));
return MOD_RES_DENY;
}
}
Version ModuleFilter::GetVersion()
{
- return Version("Text (spam) filtering", VF_VENDOR | VF_COMMON, RegexEngine ? RegexEngine->name : "");
+ return Version("Provides text (spam) filtering", VF_VENDOR | VF_COMMON, RegexEngine ? RegexEngine->name : "");
}
std::string ModuleFilter::EncodeFilter(FilterResult* filter)
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Flash Policy Daemon. Allows Flash IRC clients to connect", VF_VENDOR);
+ return Version("Flash Policy Daemon, allows Flash IRC clients to connect", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for GLOBOPS and snomask +g", VF_VENDOR);
+ return Version("Provides the GLOBOPS command and snomask 'g'", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the +I channel mode", VF_VENDOR);
+ return Version("Provides channel mode +I, invite exceptions", VF_VENDOR);
}
};
if (no_chan_priv && chan->IsModeSet(moderatedmode))
{
// The moderated mode is set and the source has no status rank.
- source->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (+m)");
+ source->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (+m is set)");
return CMD_FAILURE;
}
joinfloodsettings *f = jf.ext.get(chan);
if (f && f->islocked())
{
- user->WriteNumeric(ERR_UNAVAILRESOURCE, chan->name, "This channel is temporarily unavailable (+j). Please try again later.");
+ user->WriteNumeric(ERR_UNAVAILRESOURCE, chan->name, "This channel is temporarily unavailable (+j is set). Please try again later.");
return MOD_RES_DENY;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides channel mode +j (join flood protection)", VF_VENDOR);
+ return Version("Provides channel mode +j, join flood protection", VF_VENDOR);
}
};
const KickRejoinData* data = kr.ext.get(chan);
if ((data) && !invapi->IsInvited(user, chan) && (!data->canjoin(user)))
{
- user->WriteNumeric(ERR_UNAVAILRESOURCE, chan, InspIRCd::Format("You must wait %u seconds after being kicked to rejoin (+J)", data->delay));
+ user->WriteNumeric(ERR_UNAVAILRESOURCE, chan, InspIRCd::Format("You must wait %u seconds after being kicked to rejoin (+J is set)", data->delay));
return MOD_RES_DENY;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Channel mode to delay rejoin after kick", VF_VENDOR | VF_COMMON, kr.GetModuleSettings());
+ return Version("Provides channel mode +J, delays rejoins after kicks", VF_VENDOR | VF_COMMON, kr.GetModuleSettings());
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Allows locking of the server to stop all incoming connections until unlocked again", VF_VENDOR);
+ return Version("Provides the LOCKSERV and UNLOCKSERV commands to lock the server and block all incoming connections until unlocked again", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Replaces the output of /MAP and /LINKS with an URL", VF_VENDOR);
+ return Version("Replaces the output of the MAP and LINKS commands with an URL", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides channel mode +f (message flood protection)", VF_VENDOR);
+ return Version("Provides channel mode +f, message flood protection", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Implements extban +b m: - mute bans",VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides extban 'm', mute bans", VF_OPTCOMMON|VF_VENDOR);
}
ModResult HandleMessage(User* user, const MessageTarget& target, bool& echo_original)
if (!c->GetExtBanStatus(user, 'C').check(!c->IsModeSet(nc)))
{
- user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send CTCP to channel (+C set)");
+ user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send CTCP to channel (+C is set)");
return MOD_RES_DENY;
}
}
User* u = target.Get<User>();
if (u->IsModeSet(ncu))
{
- user->WriteNumeric(ERR_CANTSENDTOUSER, u->nick, "Can't send CTCP to user (+T set)");
+ user->WriteNumeric(ERR_CANTSENDTOUSER, u->nick, "Can't send CTCP to user (+T is set)");
return MOD_RES_DENY;
}
}
if (!memb->chan->GetExtBanStatus(source, 'Q').check(!memb->chan->IsModeSet(nk)))
{
// Can't kick with Q in place, not even opers with override, and founders
- source->WriteNumeric(ERR_CHANOPRIVSNEEDED, memb->chan->name, InspIRCd::Format("Can't kick user %s from channel (+Q set)", memb->user->nick.c_str()));
+ source->WriteNumeric(ERR_CHANOPRIVSNEEDED, memb->chan->name, InspIRCd::Format("Can't kick user %s from channel (+Q is set)", memb->user->nick.c_str()));
return MOD_RES_DENY;
}
return MOD_RES_PASSTHRU;
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for channel mode +N & extban +b N: which prevents nick changes on channel", VF_VENDOR);
+ return Version("Provides channel mode +N and extban 'N' which prevents nick changes on the channel", VF_VENDOR);
}
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
return MOD_RES_PASSTHRU;
else
{
- user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send NOTICE to channel (+T set)");
+ user->WriteNumeric(ERR_CANNOTSENDTOCHAN, c->name, "Can't send NOTICE to channel (+T is set)");
return MOD_RES_DENY;
}
}
public:
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Implements extban +b p: - part message bans", VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides extban 'p', part message bans", VF_OPTCOMMON|VF_VENDOR);
}
void OnUserPart(Membership* memb, std::string &partmessage, CUList& excepts) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Network Business Join", VF_VENDOR);
+ return Version("Provides the OJOIN command, allows an oper to join a channel and be immune to kicks", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for oper-only chans via the +O channel mode and 'O' extban", VF_VENDOR);
+ return Version("Provides support for oper-only channels via channel mode +O and extban 'O'", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for channel mode +P to provide permanent channels",VF_VENDOR);
+ return Version("Provides channel mode +P to provide permanent channels", VF_VENDOR);
}
ModResult OnChannelPreDelete(Channel *c) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Regex module using plain wildcard matching", VF_VENDOR);
+ return Version("Regex provider module using plain wildcard matching", VF_VENDOR);
}
};
else
{
/* m_nokicks.so was loaded and +Q was set, block! */
- user->WriteNumeric(ERR_RESTRICTED, channel->name, InspIRCd::Format("Can't remove user %s from channel (nokicks mode is set)", target->nick.c_str()));
+ user->WriteNumeric(ERR_RESTRICTED, channel->name, InspIRCd::Format("Can't remove user %s from channel (+Q is set)", target->nick.c_str()));
return CMD_FAILURE;
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides the +E channel mode - for blocking of similar messages", VF_COMMON|VF_VENDOR, rm.GetModuleSettings());
+ return Version("Provides channel mode +E, blocking of similar messages", VF_COMMON|VF_VENDOR, rm.GetModuleSettings());
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Forbids users from messaging each other. Users may still message opers and opers may message other opers", VF_VENDOR);
+ return Version("Forbids users from messaging each other, but users may still message opers and opers may message other opers", VF_VENDOR);
}
};
}
else
{
- user->WriteNotice("*** No such nickname "+nickname);
+ user->WriteNotice("*** No such nickname: '" + nickname + "'");
return CMD_FAILURE;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides command SAJOIN to allow opers to force-join users to channels", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the SAJOIN command, allows opers to force-join users to channels", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides a SAKICK command", VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides the SAKICK command", VF_OPTCOMMON|VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides command SAMODE to allow opers to change modes on channels and users", VF_VENDOR);
+ return Version("Provides the SAMODE command, allows opers to change modes on channels and users", VF_VENDOR);
}
ModResult OnPreMode(User* source, User* dest, Channel* channel, Modes::ChangeList& modes) CXX11_OVERRIDE
if (!ServerInstance->IsNick(parameters[1]))
{
- user->WriteNotice("*** Invalid nickname '" + parameters[1] + "'");
+ user->WriteNotice("*** Invalid nickname: '" + parameters[1] + "'");
return CMD_FAILURE;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for SANICK command", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the SANICK command, allows opers to change the nicknames of users", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides the SAPART command to force-part users from a channel", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the SAPART command, allows opers to force-part users from channels", VF_OPTCOMMON | VF_VENDOR);
}
};
}
else
{
- user->WriteNotice("*** Invalid nickname '" + parameters[0] + "'");
+ user->WriteNotice("*** Invalid nickname: '" + parameters[0] + "'");
return CMD_FAILURE;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for an SAQUIT command, exits user with a reason", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides the SAQUIT command, allows opers to force-quit users", VF_OPTCOMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides a SATOPIC command", VF_VENDOR);
+ return Version("Provides the SATOPIC command", VF_VENDOR);
}
};
public:
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Disallows /LIST for recently connected clients to hinder spam bots", VF_VENDOR);
+ return Version("Disallows the LIST command for recently connected clients to hinder spam bots", VF_VENDOR);
}
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for seeing local and remote nickchanges via snomasks", VF_VENDOR);
+ return Version("Provides snomasks 'n' and 'N' to see local and remote nickchanges", VF_VENDOR);
}
void OnUserPostNick(User* user, const std::string &oldnick) CXX11_OVERRIDE
public:
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Extban 's' - server ban",VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides extban 's' to ban users connected to a specified server", VF_OPTCOMMON|VF_VENDOR);
}
ModResult OnCheckBan(User *user, Channel *c, const std::string& mask) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the SETHOST command", VF_VENDOR);
+ return Version("Provides the SETHOST command", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the SETIDENT command", VF_VENDOR);
+ return Version("Provides the SETIDENT command", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Allows opers to set their idle time", VF_VENDOR);
+ return Version("Provides the SETIDLE command, allows opers to set their idle time", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the SETNAME command", VF_VENDOR);
+ return Version("Provides the SETNAME command", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Allows opers to set +W to see when a user uses WHOIS on them",VF_OPTCOMMON|VF_VENDOR);
+ return Version("Provides user mode +W for opers to see when a user uses WHOIS on them", VF_OPTCOMMON|VF_VENDOR);
}
void OnWhois(Whois::Context& whois) CXX11_OVERRIDE
SilenceList* list = ext.get(user);
if (list && list->size() > maxsilence)
{
- user->WriteNumeric(ERR_SILELISTFULL, mask, SilenceEntry::BitsToFlags(flags), "Your silence list is full");
+ user->WriteNumeric(ERR_SILELISTFULL, mask, SilenceEntry::BitsToFlags(flags), "Your SILENCE list is full");
return CMD_FAILURE;
}
else if (!list)
if (!list->insert(SilenceEntry(flags, mask)).second)
{
- user->WriteNumeric(ERR_SILENCE, mask, SilenceEntry::BitsToFlags(flags), "The silence entry you specified already exists");
+ user->WriteNumeric(ERR_SILENCE, mask, SilenceEntry::BitsToFlags(flags), "The SILENCE entry you specified already exists");
return CMD_FAILURE;
}
}
}
- user->WriteNumeric(ERR_SILENCE, mask, SilenceEntry::BitsToFlags(flags), "The silence entry you specified could not be found");
+ user->WriteNumeric(ERR_SILENCE, mask, SilenceEntry::BitsToFlags(flags), "The SILENCE entry you specified could not be found");
return CMD_FAILURE;
}
user->WriteNumeric(RPL_SILELIST, iter->mask, SilenceEntry::BitsToFlags(iter->flags));
}
}
- user->WriteNumeric(RPL_ENDOFSILELIST, "End of silence list");
+ user->WriteNumeric(RPL_ENDOFSILELIST, "End of SILENCE list");
return CMD_SUCCESS;
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for blocking users with the /SILENCE command", VF_OPTCOMMON | VF_VENDOR);
+ return Version("Provides support for blocking users with the SILENCE command", VF_OPTCOMMON | VF_VENDOR);
}
};
{
if (!api)
{
- user->WriteNumeric(ERR_SECUREONLYCHAN, cname, "Cannot join channel; unable to determine if you are an SSL user (+z)");
+ user->WriteNumeric(ERR_SECUREONLYCHAN, cname, "Cannot join channel; unable to determine if you are an SSL user (+z is set)");
return MOD_RES_DENY;
}
if (!api->GetCertificate(user))
{
- user->WriteNumeric(ERR_SECUREONLYCHAN, cname, "Cannot join channel; SSL users only (+z)");
+ user->WriteNumeric(ERR_SECUREONLYCHAN, cname, "Cannot join channel; SSL users only (+z is set)");
return MOD_RES_DENY;
}
}
if (!api || !api->GetCertificate(user))
{
/* The sending user is not on an SSL connection */
- user->WriteNumeric(ERR_CANTSENDTOUSER, target->nick, "You are not permitted to send private messages to this user (+z set)");
+ user->WriteNumeric(ERR_CANTSENDTOUSER, target->nick, "You are not permitted to send private messages to this user (+z is set)");
return MOD_RES_DENY;
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for the STARTTLS command", VF_VENDOR);
+ return Version("Provides the STARTTLS command", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides channel mode +S (strip ansi color)", VF_VENDOR);
+ return Version("Provides channel mode +S, strip ansi color", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Adds timed bans", VF_COMMON | VF_VENDOR);
+ return Version("Provides the TBAN command, timed channel bans", VF_COMMON | VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides the UHNAMES facility", VF_VENDOR);
+ return Version("Provides the UHNAMES (CAP userhost-in-names) capability", VF_VENDOR);
}
void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides support for USERIP command",VF_VENDOR);
+ return Version("Provides the USERIP command", VF_VENDOR);
}
};
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides masking of user hostnames via traditional /VHOST command", VF_VENDOR);
+ return Version("Provides masking of user hostnames via the VHOST command", VF_VENDOR);
}
};