aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2020-01-22 14:10:45 +0000
committerGravatar jesopo2020-01-22 14:10:45 +0000
commitb6f18f809ccbd8bd62b87f51d15c852502f6028b (patch)
treeac32df5398331ea01b858082c6207b68394d6b86
parentimplement "!clear +b" to clear ban lists (diff)
signature
add a special "require_mode" arg; "admin" meaning "above op if available"
-rw-r--r--src/core_modules/check_mode.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core_modules/check_mode.py b/src/core_modules/check_mode.py
index 9fe3f464..9e509890 100644
--- a/src/core_modules/check_mode.py
+++ b/src/core_modules/check_mode.py
@@ -18,6 +18,12 @@ class Module(ModuleManager.BaseModule):
require_mode = event["target"].get_setting(
"mode-%s" % require_mode.lower(),
LOWHIGH[require_mode.lower()])
+ elif require_mode.lower() == "admin":
+ previous = None
+ for mode, _ in event["server"].prefix_modes:
+ if mode == "o":
+ return previous or mone
+ previous = mode
if not event["target"].mode_or_above(event["user"],
require_mode):