]> jfr.im git - erebus.git/commitdiff
fix bug where bot wouldnt notice if it recovered permnick
authorzonidjan <redacted>
Mon, 8 Mar 2021 05:23:04 +0000 (23:23 -0600)
committerzonidjan <redacted>
Mon, 8 Mar 2021 05:23:04 +0000 (23:23 -0600)
bot.py
modules/sms.py

diff --git a/bot.py b/bot.py
index 27804e96d0766eeecf731768681987d926d63644..66fc9366749b97f8c2dc934888acffa3aa384664 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -15,6 +15,7 @@ if sys.version_info.major < 3:
 else:
        timerbase = threading.Timer
        stringbase = str
+
 class MyTimer(timerbase):
        def __init__(self, *args, **kwargs):
                timerbase.__init__(self, *args, **kwargs)
@@ -235,10 +236,13 @@ class Bot(object):
        def _gotnick(self, pieces):
                oldnick = pieces[0].split('!')[0][1:]
                newnick = pieces[2][1:]
-               if newnick.lower() != oldnick.lower():
-                       self.parent.users[newnick.lower()] = self.parent.users[oldnick.lower()]
-                       del self.parent.users[oldnick.lower()]
-               self.parent.users[newnick.lower()].nickchange(newnick)
+               if oldnick == self.nick:
+                       self.nick = newnick
+               else:
+                       if newnick.lower() != oldnick.lower():
+                               self.parent.users[newnick.lower()] = self.parent.users[oldnick.lower()]
+                               del self.parent.users[oldnick.lower()]
+                       self.parent.users[newnick.lower()].nickchange(newnick)
        def _gotmode(self, pieces):
                source = pieces[0].split('!')[0][1:]
                chan = pieces[2]
@@ -318,8 +322,8 @@ class Bot(object):
                                        for callback in self.parent.getchanhook(target.lower()):
                                                try:
                                                        cbret = callback(self, user, chan, *pieces)
-                                               except NotImplementedError:
-                                                       self.msg(user, "Command not implemented.")
+                                                       if isinstance(cbret, stringbase):
+                                                               self.reply(target, user, cbret)
                                                except:
                                                        self.msg(user, "Command failed. Code: CBEXC%09.3f" % (time.time() % 100000))
                                                        self.__debug_cbexception("chanhook", user=user, target=target, msg=msg)
@@ -339,12 +343,8 @@ class Bot(object):
                                        rancmd = True
                                        try:
                                                cbret = callback(self, user, chan, target, *pieces[1:])
-                                               if cbret is NotImplemented:
-                                                       raise NotImplementedError
-                                               elif isinstance(cbret, stringbase):
+                                               if isinstance(cbret, stringbase):
                                                        self.reply(target, user, cbret)
-                                       except NotImplementedError:
-                                               self.msg(user, "Command not implemented.")
                                        except Exception:
                                                self.msg(user, "Command failed. Code: CBEXC%09.3f" % (time.time() % 100000))
                                                self.__debug_cbexception("hook", user=user, target=target, msg=msg)
index 12e5b21744558f3aff743b6e871eed8caf3e2f6c..49bdaa211dd8569d730f43a2d685371d9174b480 100644 (file)
@@ -28,10 +28,6 @@ def client(bot):
        )
 
 
-@lib.hook(needchan=False, glevel=lib.MANAGER)
-def reply(bot, user, chan, realtarget, *args):
-       raise NotImplementedError
-
 @lib.hook(('sms','w'), needchan=False, glevel=lib.OWNER)
 @lib.help("<number> <message>", "send an SMS")
 def sms(bot, user, chan, realtarget, *args):