X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_anticaps.cpp;h=2c39dce98022c57d3d00a3f413d9c943e9a338cf;hb=e2b0f3dc9ef4d56c71d7abda13e6139ca092e387;hp=aa605e6edae8154c108d7d7d8733af44aedcd286;hpb=963213132dd923d0e7dbd47ea6f20373cdef343b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_anticaps.cpp b/src/modules/m_anticaps.cpp index aa605e6ed..2c39dce98 100644 --- a/src/modules/m_anticaps.cpp +++ b/src/modules/m_anticaps.cpp @@ -1,7 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2017 Peter Powell + * Copyright (C) 2019 Robby + * Copyright (C) 2018-2020 Sadie Powell * * 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 @@ -34,9 +35,9 @@ class AntiCapsSettings public: const AntiCapsMethod method; const uint16_t minlen; - const uint16_t percent; + const uint8_t percent; - AntiCapsSettings(const AntiCapsMethod& Method, const uint16_t& MinLen, const uint16_t& Percent) + AntiCapsSettings(const AntiCapsMethod& Method, const uint16_t& MinLen, const uint8_t& Percent) : method(Method) , minlen(MinLen) , percent(Percent) @@ -83,13 +84,13 @@ class AntiCapsMode : public ParamMode(percentstr); + uint8_t result = ConvToNum(percentstr); if (result < 1 || result > 100) return false; @@ -101,6 +102,7 @@ class AntiCapsMode : public ParamMode >(Creator, "anticaps", 'B') { + syntax = "{ban|block|mute|kick|kickban}::"; } ModeAction OnSet(User* source, Channel* channel, std::string& parameter) CXX11_OVERRIDE @@ -108,12 +110,12 @@ class AntiCapsMode : public ParamModeWriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter, "Invalid anticaps mode parameter. Syntax: :{minlen}:{percent}.")); + source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter)); return MODEACTION_DENY; } @@ -148,7 +150,7 @@ class AntiCapsMode : public ParamModeminlen)); out.push_back(':'); - out.append(ConvToStr(acs->percent)); + out.append(ConvNumeric(acs->percent)); } }; @@ -173,7 +175,7 @@ class ModuleAntiCaps : public Module void InformUser(Channel* channel, User* user, const std::string& message) { - user->WriteNumeric(ERR_CANNOTSENDTOCHAN, channel, message + " and was blocked."); + user->WriteNumeric(Numerics::CannotSendTo(channel, message + " and was blocked.")); } public: @@ -188,7 +190,7 @@ class ModuleAntiCaps : public Module ConfigTag* tag = ServerInstance->Config->ConfValue("anticaps"); uppercase.reset(); - const std::string upper = tag->getString("uppercase", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + const std::string upper = tag->getString("uppercase", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1); for (std::string::const_iterator iter = upper.begin(); iter != upper.end(); ++iter) uppercase.set(static_cast(*iter)); @@ -297,7 +299,7 @@ class ModuleAntiCaps : public Module Version GetVersion() CXX11_OVERRIDE { - return Version("Provides support for punishing users that send capitalised messages.", VF_COMMON|VF_VENDOR); + return Version("Adds channel mode B (anticaps) which allows channels to block messages which are excessively capitalised.", VF_COMMON|VF_VENDOR); } };