From: John Runyon Date: Thu, 28 Mar 2024 03:41:33 +0000 (-0600) Subject: add error checking on mysql DataErrors X-Git-Url: https://jfr.im/git/erebus.git/commitdiff_plain/2c58b913b1c0689018ed70f0a10d8466efdc7c42 add error checking on mysql DataErrors --- diff --git a/erebus.py b/erebus.py index 61dd1c9..cd85e3e 100644 --- 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: diff --git a/modules/admin_channel.py b/modules/admin_channel.py index 6d9eba8..d34e0ac 100644 --- a/modules/admin_channel.py +++ b/modules/admin_channel.py @@ -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): diff --git a/modules/channel_admin.py b/modules/channel_admin.py index da9d228..b8bebc6 100644 --- a/modules/channel_admin.py +++ b/modules/channel_admin.py @@ -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!"