diff options
Diffstat (limited to 'modules/set.py')
| -rw-r--r-- | modules/set.py | 30 |
1 files 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="<setting> <value>") + bot.events.on("received").on("command").on("get").hook( + self.get, help="Get a specified user setting", + usage="<setting>", 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="<setting> <value>") + usage="<setting> <value>", 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="<setting>", 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)) |
