aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2018-09-09 10:04:21 +0100
committerGravatar Dan2018-09-09 13:34:25 +0100
commit2fa7d9b8a9b378cb1aa326b89cd02c79a616ee98 (patch)
tree09a1a176cc7e9e0288c0465e98dc6ceb607ade47 /modules
parentDon't add a qualifier for server settings (diff)
signature
Add nickserv-password and sasl to !serverset
Diffstat (limited to 'modules')
-rw-r--r--modules/nickserv.py16
-rw-r--r--modules/sasl.py8
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"