diff options
| author | 2020-01-22 14:12:48 +0000 | |
|---|---|---|
| committer | 2020-01-22 14:12:48 +0000 | |
| commit | 64848f5ab7fb455d376da49465f7b4893926438e (patch) | |
| tree | 8d0d6206019e859170f190b03ab378410c29a105 /src/core_modules | |
| parent | add 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.py | 13 |
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): |
