diff options
| author | 2019-01-10 22:40:57 +0000 | |
|---|---|---|
| committer | 2019-01-10 22:41:35 +0000 | |
| commit | 0e9d2b318050b08774e8fd4a87ac98722541a169 (patch) | |
| tree | bc0dc729dc43635616cdb03cff6c33b68189ddeb /modules/set.py | |
| parent | Don't have duplicate repo full name in `ping` events (github.py) (diff) | |
| signature | ||
Add !unset and !channelunset (and !channelunsetoverride) (set.py)
Diffstat (limited to 'modules/set.py')
| -rw-r--r-- | modules/set.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/set.py b/modules/set.py index 649173cb..6da5679e 100644 --- a/modules/set.py +++ b/modules/set.py @@ -144,3 +144,33 @@ class Module(ModuleManager.BaseModule): """ setting = event["args_split"][0] self._get(event, setting, "", self.bot.get_setting(setting, None)) + + def _unset(self, event, setting, category, target): + settings = self.exports.get_all(category) + settings_dict = {setting["setting"]: setting for setting in settings} + setting = setting.lower() + + if setting in settings_dict: + target.del_setting(setting) + event["stdout"].write("Unset %s" % setting) + else: + event["stderr"].write("Unknown setting") + + @utils.hook("received.command.unset", min_args=1) + def unset(self, event): + """ + :help: Unset a specified user setting + :usage: <setting> + """ + self._unset(event, event["args_split"][0], "set", event["user"]) + + @utils.hook("received.command.channelunset", min_args=1, + require_mode="high") + @utils.hook("received.command.channelunsetoverride", min_args=1, + permission="channelunsetoverride") + def channel_unset(self, event): + """ + :help: Unset a specified user setting + :usage: <setting> + """ + self._unset(event, event["args_split"][0], "set", event["user"]) |
