aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-18 07:59:53 +0100
committerGravatar jesopo2019-06-18 08:01:20 +0100
commit88e796e33489bb35c85b7c66e47327f5ad2aa659 (patch)
tree2f6ae8d3e0df4d0ba225ef9a67f175471765da19
parentUpdate CHANGELOG.md (diff)
signature
check-mode and channel-access should reference the computed target, not
"current channel"
-rw-r--r--modules/check_mode.py12
-rw-r--r--modules/config.py4
2 files changed, 11 insertions, 5 deletions
diff --git a/modules/check_mode.py b/modules/check_mode.py
index f3d3edb5..1ad96e10 100644
--- a/modules/check_mode.py
+++ b/modules/check_mode.py
@@ -13,7 +13,7 @@ LOWHIGH = {
"help": "Set which channel mode is considered to be 'high' access",
"example": "o"})
class Module(ModuleManager.BaseModule):
- def _check_command(self, event, require_mode):
+ def _check_command(self, event, channel, require_mode):
if event["is_channel"] and require_mode:
if require_mode.lower() in LOWHIGH:
require_mode = event["target"].get_setting(
@@ -30,8 +30,14 @@ class Module(ModuleManager.BaseModule):
def preprocess_command(self, event):
require_mode = event["hook"].get_kwarg("require_mode")
if not require_mode == None:
- return self._check_command(event, require_mode)
+ return self._check_command(event, event["target"], require_mode)
@utils.hook("check.command.channel-mode")
def check_command(self, event):
- return self._check_command(event, event["request_args"][0])
+ target = event["target"]
+ mode = event["request_args"][0]
+ if len(event["request_args"]) > 1:
+ target = event["request_args"][0]
+ mode = event["request_args"][1]
+
+ return self._check_command(event, target, mode)
diff --git a/modules/config.py b/modules/config.py
index df6bf350..d041e178 100644
--- a/modules/config.py
+++ b/modules/config.py
@@ -167,8 +167,8 @@ class Module(ModuleManager.BaseModule):
"Cannot change config for current channel when in "
"private message")
event["check_assert"](permission_check|
- utils.Check("channel-access", "set")|
- utils.Check("channel-mode", "o"))
+ utils.Check("channel-access", target, "set")|
+ utils.Check("channel-mode", target, "o"))
elif context == "serverset" or context == "botset":
event["check_assert"](permission_check)