aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IRCServer.py5
-rw-r--r--modules/sasl.py12
2 files changed, 10 insertions, 7 deletions
diff --git a/IRCServer.py b/IRCServer.py
index ffe9677d..083e211d 100644
--- a/IRCServer.py
+++ b/IRCServer.py
@@ -61,14 +61,11 @@ class Server(object):
def connect(self):
self.socket.connect((self.target_hostname, self.port))
+ self.bot.events.on("preprocess.connect").call(server=self)
if self.password:
self.send_pass(self.password)
- sasl = self.get_setting("sasl")
- if sasl:
- self.send_capability_request("sasl")
-
self.send_user(self.original_username, self.original_realname)
self.send_nick(self.original_nickname)
self.connected = True
diff --git a/modules/sasl.py b/modules/sasl.py
index afe48522..7889640e 100644
--- a/modules/sasl.py
+++ b/modules/sasl.py
@@ -3,11 +3,17 @@ import base64
class Module(object):
def __init__(self, bot):
self.bot = bot
- bot.events.on("received").on("cap").hook(self.on_cap)
- bot.events.on("received").on("authenticate").hook(self.on_authenticate)
- bot.events.on("received").on("numeric").on(
+ bot.events.on("preprocess.connect").hook(self.preprocess_connect)
+ bot.events.on("received.cap").hook(self.on_cap)
+ bot.events.on("received.authenticate").hook(self.on_authenticate)
+ bot.events.on("received.numeric").on(
"902", "903", "904", "905", "906", "907", "908").hook(self.on_90x)
+ def preprocess_connect(self, event):
+ sasl = event["server"].get_setting("sasl")
+ if sasl:
+ event["server"].send_capability_request("sasl")
+
def on_cap(self, event):
if event["subcommand"] == "NAK":
event["server"].send_capability_end()