From ee86848b62e496b467f27144540d4114e45aa5da Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 8 Aug 2018 20:45:57 +0100 Subject: [PATCH] Added !get and !channelget --- modules/set.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/modules/set.py b/modules/set.py index 9b0678a9..b23f8285 100644 --- a/modules/set.py +++ b/modules/set.py @@ -12,10 +12,17 @@ class Module(object): bot.events.on("received").on("command").on("set").hook( self.set, help="Set a specified user setting", usage=" ") + bot.events.on("received").on("command").on("get").hook( + self.get, help="Get a specified user setting", + usage="", min_args=1) bot.events.on("received").on("command").on("channelset" ).hook(self.channel_set, channel_only=True, help="Set a specified setting for the current channel", - usage=" ") + usage=" ", require_mode="o") + bot.events.on("received").on("command").on("channelget" + ).hook(self.channel_get, channel_only=True, + help="Get a specified setting for the current channel", + usage="", min_args=1, require_mode="o") def _postboot_set(self, settings, event): settings[event["setting"]] = {} @@ -50,8 +57,21 @@ class Module(object): self._set(self.settings, event, event["user"]) def channel_set(self, event): - if event["target"].mode_or_above(event["user"], - "o"): - self._set(self.channel_settings, event, event["target"]) + self._set(self.channel_settings, event, event["target"]) + + def _get(self, event, setting, qualifier, value): + if not value == None: + event["stdout"].write("'%s'%s: %s" % (setting, + qualifier, event["channel"].name, value)) else: - event["stderr"].write("You do not have the modes required") + event["stdout"].write("'%s' has no value set" % setting) + + def channel_get(self, event): + setting = event["args_split"][0] + self._get(event, setting, " for %s" % event["channel"].name, + event["channel"].get_setting(setting, None)) + + def get(self, event): + setting = event["args_split"][0] + self._get(event, setting, "", event["user"].get_setting( + setting, None))