]> jfr.im git - erebus.git/commitdiff
add error checking on mysql DataErrors
authorJohn Runyon <redacted>
Thu, 28 Mar 2024 03:41:33 +0000 (21:41 -0600)
committerJohn Runyon <redacted>
Thu, 28 Mar 2024 03:41:33 +0000 (21:41 -0600)
erebus.py
modules/admin_channel.py
modules/channel_admin.py

index 61dd1c9b0e4f97642ad93132fe62aafc0538ceed..cd85e3e3b238ba345e3d8ff8b3300439ec0b5d5e 100644 (file)
--- a/erebus.py
+++ b/erebus.py
@@ -209,6 +209,9 @@ class Erebus(object): #singleton to pass around
                                return curs
                        else:
                                return res
+               except MySQLdb.DataError as e:
+                       self.log("[SQL]", ".", "MySQL DataError: %r" % (e))
+                       return False
                except MySQLdb.MySQLError as e:
                        self.log("[SQL]", "!", "MySQL error! %r" % (e))
                        if not noretry:
index 6d9eba88255bcfdf7d70b8b4582fbd4f0ec041fa..d34e0ac514db224841f5a59ce005b9f69e803ace 100644 (file)
@@ -55,8 +55,10 @@ def join(bot, user, chan, realtarget, *args):
        bot.chans.append(chan)
        bot.join(chan)
 
-       chan.setlevel(target.auth, lib.COWNER)
-       user.msg('Added channel')
+       if chan.setlevel(target.auth, lib.COWNER):
+               return 'Added channel'
+       else:
+               return "An error occurred!"
 
 
 def _part(user, chan):
index da9d22863f9db5228c0b8942dd73ad481a90cc74..b8bebc6e9922bee5136ee2809c78c6c4588cd9aa 100644 (file)
@@ -75,8 +75,10 @@ def clevel(bot, user, chan, realtarget, *args):
                if user_clevel <= level:
                        return "I'm afraid I can't let you do that. Your current access level is not higher than you are trying to set."
 
-       chan.setlevel(target.auth, level)
-       return "Set #%s channel level to %s" % (target.auth, args[1])
+       if chan.setlevel(target.auth, level):
+               return "Set #%s channel level to %s" % (target.auth, args[1])
+       else:
+               return "An error occurred!"
 
 
 @lib.hook(('forceclevel','fclevel'), glevel=lib.MANAGER)
@@ -85,5 +87,7 @@ def clevel(bot, user, chan, realtarget, *args):
 def forceclevel(bot, user, chan, realtarget, *args):
        target = user.auth
        level = _resolve_level(args[0])
-       chan.setlevel(target, level)
-       return 'Your level on %s has been set to %d' % (chan, level)
+       if chan.setlevel(target, level):
+               return 'Your level on %s has been set to %d' % (chan, level)
+       else:
+               return "An error occurred!"