From b63170244a2e3d3e45cf09b2eae7ea607be612fa Mon Sep 17 00:00:00 2001 From: nemunaire Date: Sat, 6 Sep 2014 21:30:07 +0200 Subject: [PATCH] IRC: capabilities negociation --- server/IRC.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/IRC.py b/server/IRC.py index fe8bbb2..3d3c7b2 100644 --- a/server/IRC.py +++ b/server/IRC.py @@ -31,6 +31,7 @@ class IRCServer(SocketServer): self.nick = nick self.owner = owner self.realname = realname + self.capabilities = list() if not node.hasAttribute("caps") or node["caps"].lower() != "no" else None self.id = "TODO" def _on_connect(): @@ -47,8 +48,12 @@ class IRCServer(SocketServer): if SocketServer._open(self): if self.password is not None: self.write("PASS :" + self.password) + if self.capabilities is not None: + self.write("CAP LS") self.write("NICK :" + self.nick) self.write("USER %s %s bla :%s" % (self.nick, self.host, self.realname)) + if self.capabilities is not None: + self.write("CAP END") return True return False