X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_autoop.cpp;h=f7936f3576e0c448707f2ff87dfc0a4e1652bfa7;hb=b618b194f3166a55ca7e7889c7346b65c174d397;hp=a09d0d9e425744607f168d9abaf57cb5f8bf0ae8;hpb=b2ac8cc0a6405946a388b80df3be21bc276a61f3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_autoop.cpp b/src/modules/m_autoop.cpp index a09d0d9e4..f7936f357 100644 --- a/src/modules/m_autoop.cpp +++ b/src/modules/m_autoop.cpp @@ -1,7 +1,10 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2011 Jackmcbarn + * Copyright (C) 2013, 2017-2020 Sadie Powell + * Copyright (C) 2012-2015 Attila Molnar + * Copyright (C) 2012, 2019 Robby + * Copyright (C) 2011 jackmcbarn * Copyright (C) 2010 Daniel De Graaf * * This file is part of InspIRCd. InspIRCd is free software: you can @@ -21,14 +24,21 @@ #include "inspircd.h" #include "listmode.h" -/** Handles +w channel mode - */ +enum +{ + // InspIRCd-specific. + RPL_ACCESSLIST = 910, + RPL_ENDOFACCESSLIST = 911 +}; + class AutoOpList : public ListModeBase { public: - AutoOpList(Module* Creator) : ListModeBase(Creator, "autoop", 'w', "End of Channel Access List", 910, 911, true) + AutoOpList(Module* Creator) + : ListModeBase(Creator, "autoop", 'w', "End of Channel Access List", RPL_ACCESSLIST, RPL_ENDOFACCESSLIST, true) { ranktoset = ranktounset = OP_VALUE; + syntax = ":"; tidy = false; } @@ -61,9 +71,10 @@ class AutoOpList : public ListModeBase std::string dummy; if (mh->AccessCheck(source, channel, dummy, true) == MOD_RES_DENY) return MOD_RES_DENY; - if (mh->GetLevelRequired(true) > mylevel) + if (mh->GetLevelRequired(adding) > mylevel) { - source->WriteNumeric(ERR_CHANOPRIVSNEEDED, channel->name, InspIRCd::Format("You must be able to set mode '%s' to include it in an autoop", mid.c_str())); + source->WriteNumeric(ERR_CHANOPRIVSNEEDED, channel->name, InspIRCd::Format("You must be able to %s mode %c (%s) to %s an autoop containing it", + adding ? "set" : "unset", mh->GetModeChar(), mh->name.c_str(), adding ? "add" : "remove")); return MOD_RES_DENY; } return MOD_RES_PASSTHRU; @@ -111,7 +122,7 @@ class ModuleAutoOp : public Module Version GetVersion() CXX11_OVERRIDE { - return Version("Provides support for the +w channel mode", VF_VENDOR); + return Version("Adds channel mode w (autoop) which allows channel operators to define an access list which gives status ranks to users on join.", VF_VENDOR); } };