diff --git a/src/Admin.py b/src/Admin.py index b302fa6a1..6295c16e0 100755 --- a/src/Admin.py +++ b/src/Admin.py @@ -301,12 +301,13 @@ class Admin(privmsgs.CapabilityCheckingPrivmsg): '-' in capability: try: id = ircdb.users.getUserId(name) - user = ircdb.users.getUser(id) - user.addCapability(capability) - ircdb.users.setUser(id, user) - irc.replySuccess() except KeyError: irc.errorNoUser() + return + user = ircdb.users.getUser(id) + user.addCapability(capability) + ircdb.users.setUser(id, user) + irc.replySuccess() else: s = 'You can\'t add capabilities you don\'t have.' irc.error(s) diff --git a/src/Channel.py b/src/Channel.py index 6193c1b30..9622e366b 100755 --- a/src/Channel.py +++ b/src/Channel.py @@ -564,12 +564,17 @@ class Channel(callbacks.Privmsg): capability = ircdb.makeChannelCapability(channel, capability) try: id = ircdb.users.getUserId(name) - user = ircdb.users.getUser(id) - user.removeCapability(capability) - ircdb.users.setUser(id, user) - irc.replySuccess() except KeyError: irc.errorNoUser() + return + user = ircdb.users.getUser(id) + try: + user.removeCapability(capability) + except KeyError: + irc.error('That user doesn\'t have the %s capability.'%capability) + return + ircdb.users.setUser(id, user) + irc.replySuccess() removecapability = privmsgs.checkChannelCapability(removecapability, 'op') def setdefaultcapability(self, irc, msg, args, channel):