aboutsummaryrefslogtreecommitdiff
path: root/src/core_modules
diff options
context:
space:
mode:
authorGravatar jesopo2020-01-22 14:12:48 +0000
committerGravatar jesopo2020-01-22 14:12:48 +0000
commit64848f5ab7fb455d376da49465f7b4893926438e (patch)
tree8d0d6206019e859170f190b03ab378410c29a105 /src/core_modules
parentadd a special "require_mode" arg; "admin" meaning "above op if available" (diff)
signature
add a special "require_mode" arg; "highest" meaning "highest mode possible"
Diffstat (limited to 'src/core_modules')
-rw-r--r--src/core_modules/check_mode.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core_modules/check_mode.py b/src/core_modules/check_mode.py
index 9e509890..e5430229 100644
--- a/src/core_modules/check_mode.py
+++ b/src/core_modules/check_mode.py
@@ -14,16 +14,19 @@ LOWHIGH = {
class Module(ModuleManager.BaseModule):
def _check_command(self, event, channel, require_mode):
if event["is_channel"] and require_mode:
- if require_mode.lower() in LOWHIGH:
+ if require_mode in LOWHIGH:
require_mode = event["target"].get_setting(
- "mode-%s" % require_mode.lower(),
- LOWHIGH[require_mode.lower()])
- elif require_mode.lower() == "admin":
+ "mode-%s" % require_mode,
+ LOWHIGH[require_mode])
+ elif require_mode == "admin":
previous = None
for mode, _ in event["server"].prefix_modes:
if mode == "o":
- return previous or mone
+ require_mode = previous or mone
+ break
previous = mode
+ elif require_mode == "highest":
+ require_mode = event["server"].prefix_modes[0][0]
if not event["target"].mode_or_above(event["user"],
require_mode):