aboutsummaryrefslogtreecommitdiff
path: root/IRCServer.py
diff options
context:
space:
mode:
authorGravatar jesopo2016-03-31 13:20:03 +0100
committerGravatar jesopo2016-03-31 13:20:03 +0100
commitacc38b7460cf3923f9164045193b685a8153c0c9 (patch)
treeb6449195f50a473022cce73b97bdb629e75682f3 /IRCServer.py
parentadded CTCP SOURCE and TIME responses. (diff)
made the args for IRCLineHandler functions global and added a timer-based channel join re-try.
Diffstat (limited to 'IRCServer.py')
-rw-r--r--IRCServer.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/IRCServer.py b/IRCServer.py
index aad88f41..c7f79050 100644
--- a/IRCServer.py
+++ b/IRCServer.py
@@ -26,6 +26,7 @@ class Server(object):
self.channel_modes = []
self.channel_types = []
self.last_read = None
+ self.attempted_join = {}
if ipv4:
self.socket = socket.socket(socket.AF_INET,
socket.SOCK_STREAM)
@@ -173,7 +174,11 @@ class Server(object):
self.send("PING :%s" % nonce)
def send_pong(self, nonce="hello"):
self.send("PONG :%s" % nonce)
+ def try_rejoin(self, timer, channel_name, key):
+ if channel_name in self.attempted_join:
+ self.send_join(channel_name, key)
def send_join(self, channel_name, key=None):
+ self.attempted_join[channel_name.lower()] = None
self.send("JOIN %s%s" % (channel_name,
"" if key == None else " %s" % key))
def send_part(self, channel_name, reason=None):