aboutsummaryrefslogtreecommitdiff
path: root/IRCChannel.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-08-30 11:12:48 +0100
committerGravatar jesopo2018-08-30 11:12:48 +0100
commit9b7c7035f9c6a5ee34bf3ca13167176b669a5a18 (patch)
treeb85793e017b9bbf7d938b077fe8463727d188042 /IRCChannel.py
parentOnly show 2 biggest units in !seen (diff)
Refactor handling MODE in IRCLineHandler
Diffstat (limited to 'IRCChannel.py')
-rw-r--r--IRCChannel.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/IRCChannel.py b/IRCChannel.py
index 2cc46ca4..15d2e5df 100644
--- a/IRCChannel.py
+++ b/IRCChannel.py
@@ -42,32 +42,33 @@ class Channel(object):
def has_user(self, user):
return user in self.users
- def add_mode(self, mode, args=None):
+ def add_mode(self, mode, arg=None):
if not mode in self.modes:
self.modes[mode] = set([])
- if args:
+ if arg:
if mode in self.server.mode_prefixes.values():
- user = self.server.get_user(args)
+ user = self.server.get_user(arg)
if user:
self.modes[mode].add(user)
else:
- self.modes[mode].add(args.lower())
- self.bot.events.on("mode").on("channel").call(
- channel=self, mode=mode, args=args, remove=False)
- def remove_mode(self, mode, args=None):
- if not args:
+ self.modes[mode].add(arg.lower())
+ def remove_mode(self, mode, arg=None):
+ if not arg:
del self.modes[mode]
else:
if mode in self.server.mode_prefixes.values():
- user = self.server.get_user(args)
+ user = self.server.get_user(arg)
if user:
self.modes[mode].discard(user)
else:
- self.modes[mode].discard(args.lower())
+ self.modes[mode].discard(arg.lower())
if not len(self.modes[mode]):
del self.modes[mode]
- self.bot.events.on("mode").on("channel").call(
- channel=self, mode=mode, args=args, remove=True)
+ def change_mode(self, remove, mode, arg=None):
+ if remove:
+ self.remove_mode(mode, arg)
+ else:
+ self.add_mode(mode, arg)
def set_setting(self, setting, value):
self.bot.database.channel_settings.set(self.id, setting, value)