diff options
| author | 2018-08-08 20:45:57 +0100 | |
|---|---|---|
| committer | 2018-08-08 20:45:57 +0100 | |
| commit | ee86848b62e496b467f27144540d4114e45aa5da (patch) | |
| tree | f77e1c0e112dd1030589c5d8107c4e12adbb6cd2 /modules/set.py | |
| parent | Added rotated log files to gitignore (diff) | |
| signature | ||
Added !get and !channelget
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)) |
