]> jfr.im git - erebus.git/commitdiff
added handling for PART/QUIT of user
authorzonidjan <redacted>
Thu, 21 May 2015 03:57:30 +0000 (22:57 -0500)
committerzonidjan <redacted>
Thu, 21 May 2015 03:57:30 +0000 (22:57 -0500)
bot.py

diff --git a/bot.py b/bot.py
index 7140a1a61f09846767d547e3d88465b15a24cc06..fa6e7c273d374b3f12752f9d732cce68be1ac2c8 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -72,7 +72,25 @@ class Bot(object):
                                user = self.parent.user(nick, justjoined=True)
                                chan.userjoin(user)
                                user.join(chan)
+
+               elif pieces[1] == "PART":
+                       nick = pieces[0].split('!')[0][1:]
+                       chan = self.parent.channel(pieces[2])
                        
+                       if nick != self.nick:
+                               self.parent.user(nick).part(chan)
+                               chan.userpart(self.parent.user(nick))
+
+               elif pieces[1] == "QUIT":
+                       nick = pieces[0].split('!')[0][1:]
+                       if nick != self.nick:
+                               self.parent.user(nick).quit()
+                               del self.parent.users[nick.lower()]
+
+               elif pieces[1] == "MODE": #TODO
+                       pass
+
+       
        def parsemsg(self, user, target, msg):
                chan = None
                if len(msg) == 0:
@@ -103,6 +121,7 @@ class Bot(object):
                                                        cbret = callback(self, user, chan, *pieces)
                                                        if cbret is NotImplemented:
                                                                self.msg(user, "Command not implemented.")
+                                               return
                                        else:
                                                return # not to bot, don't process!
                        except IndexError: