]> jfr.im git - erebus.git/blobdiff - bot.py
admin_config - add !getconfig, remove some unused functions
[erebus.git] / bot.py
diff --git a/bot.py b/bot.py
index 138b2fc001d4384943117c3d9720738d11fee726..fd9292295aa3d2051d729d8e8e6a6e1b5b73b8a2 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -119,6 +119,7 @@ class Bot(object):
                        '354': self._got354, #WHO
                        '396': self._gotHiddenHost, # hidden host has been set
                        '433': self._got433, #nick in use
+                       '437': self._got433, #nick protected
                        'JOIN': self._gotjoin,
                        'PART': self._gotpart,
                        'KICK': self._gotkick,
@@ -246,6 +247,10 @@ class Bot(object):
                        for u in chan.users:
                                if u.nick != self.nick:
                                        self._clientLeft(u.nick, chan)
+                       if chan.deleting:
+                               chan.bot.chans.remove(chan)
+                               del self.parent.chans[chan.name.lower()]
+                               del chan
                else:
                        user = self.parent.user(nick)
                        gone = user.part(chan)
@@ -587,7 +592,7 @@ class BotConnection(object):
                                self.parent.log('X', line)
 
        def _write(self, line):
-               self.socket.sendall(line.encode('utf-8', 'backslashreplace')+b"\r\n")
+               self.socket.sendall(line.encode('utf-8', 'surrogateescape')+b"\r\n")
 
        def _getsockerr(self):
                try: # SO_ERROR might not exist on all platforms