aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-16 20:48:31 +0100
committerGravatar jesopo2019-06-16 20:48:31 +0100
commitced59a0f74caa575a12c6e72843d497d1f8c092e (patch)
treedaeda0274452074882c29c0919596237edd20cfc /modules
parentSupport 'channel-access' check request referencing current channel (diff)
signature
Allow channel-access and channel-mode check for channels people are not in
Diffstat (limited to 'modules')
-rw-r--r--modules/config.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/modules/config.py b/modules/config.py
index d48480c7..18a16c56 100644
--- a/modules/config.py
+++ b/modules/config.py
@@ -39,6 +39,10 @@ class ConfigChannelTarget(object):
channel_id = self._get_id()
self._bot.database.channel_settings.delete(channel_id, setting)
+ def get_user_setting(self, user_id, setting, default=None):
+ return self.bot.database.user_channel_settings.get(user_id,
+ self._get_id(), setting, default)
+
class Module(ModuleManager.BaseModule):
def _to_context(self, server, channel, user, context_desc):
context_desc_lower = context_desc.lower()
@@ -144,22 +148,22 @@ class Module(ModuleManager.BaseModule):
target = event["user"]
elif context == "channelset":
if name:
- event["check_assert"](permission_check)
-
if name in event["server"].channels:
target = event["server"].channels.get(name)
else:
+ event["check_assert"]
target = ConfigChannelTarget(self.bot, event["server"],
name)
else:
if event["is_channel"]:
- event["check_assert"](
- utils.Check("channel-mode", "o")|permission_check)
target = event["target"]
else:
raise utils.EventError(
"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"))
elif context == "serverset" or context == "botset":
event["check_assert"](permission_check)