diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/nickserv.py | 16 | ||||
| -rw-r--r-- | modules/sasl.py | 8 |
2 files changed, 13 insertions, 11 deletions
diff --git a/modules/nickserv.py b/modules/nickserv.py index 5b7e9087..b4aeb938 100644 --- a/modules/nickserv.py +++ b/modules/nickserv.py @@ -3,12 +3,11 @@ import EventManager class Module(object): def __init__(self, bot, events, exports): - events.on("received").on("numeric").on("001" - ).hook(self.on_connect, priority=EventManager.PRIORITY_URGENT) - events.on("received").on("command").on("setnickserv" - ).hook(self.set_nickserv, min_args=1, permission="setnickserv", - help="Set bot's nickserv password", usage="<password>", - private_only=True) + events.on("received").on("numeric").on("001").hook(self.on_connect, + priority=EventManager.PRIORITY_URGENT) + + exports.add("serverset", {"setting": "nickserv-password", + "help": "Set the nickserv password for this server"}) def on_connect(self, event): nickserv_password = event["server"].get_setting( @@ -17,8 +16,3 @@ class Module(object): event["server"].attempted_auth = True event["server"].send_message("nickserv", "identify %s" % nickserv_password) - - def set_nickserv(self, event): - nickserv_password = event["args"] - event["server"].set_setting("nickserv-password", nickserv_password) - event["stdout"].write("Nickserv password saved") diff --git a/modules/sasl.py b/modules/sasl.py index 32e20137..dee74133 100644 --- a/modules/sasl.py +++ b/modules/sasl.py @@ -8,6 +8,14 @@ class Module(object): events.on("received.authenticate").hook(self.on_authenticate) events.on("received.numeric.903").hook(self.sasl_success) + exports.add("serverset", {"setting": "sasl", + "help": "Set the sasl username/password for this server", + "validate": self._validate}) + + def _validate(self, s): + if " " in s: + return s.split(" ", 1) + def on_cap(self, event): has_sasl = "sasl" in event["capabilities"] has_mechanisms = has_sasl and not event["capabilities"]["sasl" |
