aboutsummaryrefslogtreecommitdiff
path: root/modules/sasl.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-09-26 18:27:17 +0100
committerGravatar jesopo2018-09-26 18:27:17 +0100
commit51a52e2b0e54031cce5876f54d1d48c268b5441c (patch)
treea4c0e8e86c55aa701b06297d5b5a2ceebeaab60d /modules/sasl.py
parentAlso use docstrings to check if a command has help available, allow one-string (diff)
Switch to using @Utils.hook and docstrings for event hooks
Diffstat (limited to 'modules/sasl.py')
-rw-r--r--modules/sasl.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/modules/sasl.py b/modules/sasl.py
index 360bb644..cbebb31e 100644
--- a/modules/sasl.py
+++ b/modules/sasl.py
@@ -1,14 +1,8 @@
import base64
+from src import Utils
class Module(object):
def __init__(self, bot, events, exports):
- self.bot = bot
- events.on("received.cap.ls").hook(self.on_cap)
- events.on("received.cap.ack").hook(self.on_cap_ack)
- events.on("received.authenticate").hook(self.on_authenticate)
- events.on("received.numeric.903").hook(self.sasl_success)
- events.on("received.numeric.904").hook(self.sasl_failure)
-
exports.add("serverset", {"setting": "sasl",
"help": "Set the sasl username/password for this server",
"validate": self._validate})
@@ -19,6 +13,7 @@ class Module(object):
mechanism, arguments = s.split(" ", 1)
return {"mechanism": mechanism, "args": arguments}
+ @Utils.hook("received.cap.ls")
def on_cap(self, event):
has_sasl = "sasl" in event["capabilities"]
our_sasl = event["server"].get_setting("sasl", None)
@@ -35,12 +30,14 @@ class Module(object):
if do_sasl:
event["server"].queue_capability("sasl")
+ @Utils.hook("received.cap.ack")
def on_cap_ack(self, event):
if "sasl" in event["capabilities"]:
sasl = event["server"].get_setting("sasl")
event["server"].send_authenticate(sasl["mechanism"].upper())
event["server"].wait_for_capability("sasl")
+ @Utils.hook("received.authenticate")
def on_authenticate(self, event):
if event["message"] != "+":
event["server"].send_authenticate("*")
@@ -63,7 +60,9 @@ class Module(object):
def _end_sasl(self, server):
server.capability_done("sasl")
+ @Utils.hook("received.numeric.903")
def sasl_success(self, event):
self._end_sasl(event["server"])
+ @Utils.hook("received.numeric.904")
def sasl_failure(self, event):
self._end_sasl(event["server"])