X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_chanfilter.cpp;h=14735b13db8d1cc0c52e3353b25024799a2609d1;hb=e2b0f3dc9ef4d56c71d7abda13e6139ca092e387;hp=e955175a8b720ac0853d469a184923346cc9066a;hpb=5a2af6ded883d71c6c4c9f1497cca1721f8b0742;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp index e955175a8..14735b13d 100644 --- a/src/modules/m_chanfilter.cpp +++ b/src/modules/m_chanfilter.cpp @@ -1,13 +1,14 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2019 linuxdaemon + * Copyright (C) 2013, 2017-2020 Sadie Powell + * Copyright (C) 2012-2014 Attila Molnar + * Copyright (C) 2012, 2018 Robby * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2008 Pippijn van Steenhoven - * Copyright (C) 2007 Robin Burchell * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2006 Oliver Lupton - * Copyright (C) 2005 Craig McLure - * Copyright (C) 2005 Craig Edwards + * Copyright (C) 2006 Oliver Lupton + * Copyright (C) 2005-2006, 2008-2010 Craig Edwards * * 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 @@ -27,15 +28,20 @@ #include "listmode.h" #include "modules/exemption.h" -/** Handles channel mode +g - */ +enum +{ + // InspIRCd-specific. + RPL_ENDOFSPAMFILTER = 940, + RPL_SPAMFILTER = 941 +}; + class ChanFilter : public ListModeBase { public: unsigned long maxlen; ChanFilter(Module* Creator) - : ListModeBase(Creator, "filter", 'g', "End of channel spamfilter list", 941, 940, false) + : ListModeBase(Creator, "filter", 'g', "End of channel spamfilter list", RPL_SPAMFILTER, RPL_ENDOFSPAMFILTER, false) { syntax = ""; } @@ -124,9 +130,10 @@ class ModuleChanFilter : public Module } if (hidemask) - user->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (your part message contained a censored word)"); + user->WriteNumeric(Numerics::CannotSendTo(chan, "Your part message contained a banned phrase and was blocked.")); else - user->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (your part message contained a censored word: " + match->mask + ")"); + user->WriteNumeric(Numerics::CannotSendTo(chan, InspIRCd::Format("Your part message contained a banned phrase (%s) and was blocked.", + match->mask.c_str()))); } ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) CXX11_OVERRIDE @@ -145,9 +152,10 @@ class ModuleChanFilter : public Module } if (hidemask) - user->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (your message contained a censored word)"); + user->WriteNumeric(Numerics::CannotSendTo(chan, "Your message to this channel contained a banned phrase and was blocked.")); else - user->WriteNumeric(ERR_CANNOTSENDTOCHAN, chan->name, "Cannot send to channel (your message contained a censored word: " + match->mask + ")"); + user->WriteNumeric(Numerics::CannotSendTo(chan, InspIRCd::Format("Your message to this channel contained a banned phrase (%s) and was blocked.", + match->mask.c_str()))); return MOD_RES_DENY; } @@ -161,7 +169,7 @@ class ModuleChanFilter : public Module if (cf.maxlen != 35) maxfilterlen.assign(ConvToStr(cf.maxlen)); - return Version("Provides channel-specific censor lists (like mode +G but varies from channel to channel)", VF_VENDOR, maxfilterlen); + return Version("Adds channel mode g (filter) which allows channel operators to define glob patterns for inappropriate phrases that are not allowed to be used in the channel.", VF_VENDOR, maxfilterlen); } };