def command_unblacklist(self, bot, user, chan, args): bl = self.per_channel_blacklist.setdefault(chan, set()) if len(args) == 0: return bot.address_msg( user, chan, 'usage: "unblacklist me" OR "unblacklist [name [name2 [...]]]". ' 'Second form requires log_blacklist_admin privilege in this ' 'channel. Shell-style wildcards are ok.') if len(args) == 1 and args[0] in ('me', user): if user in bl: bl.discard(user) return bot.address_msg(user, chan, 'Unblacklisting you for %s.' % chan) return bot.address_msg(user, chan, 'You are not blacklisted in %s.' % chan) if bot.service.auth.channelUserHas(chan, user, 'log_blacklist_admin'): found = [] for arg in args: if arg in bl: bl.discard(arg) found.append(arg) return bot.address_msg( user, chan, 'Unblacklisted %s' % natural_list(map(repr, found))) return bot.address_msg( user, chan, 'unblacklisting other names requires the log_blacklist_admin ' 'privilege in this channel.')
def command_blacklist(self, bot, user, chan, args): bl = self.per_channel_blacklist.setdefault(chan, set()) if len(args) == 0: return bot.address_msg(user, chan, 'usage: "blacklist me" OR "blacklist [name [name2 [...]]]". ' 'Second form requires log_blacklist_admin privilege in this ' 'channel. Shell-style wildcards are ok.') if len(args) == 1 and args[0] in ('me', user): bl.add(user) return bot.address_msg(user, chan, 'Blacklisting you for %s.' % chan) if bot.service.auth.channelUserHas(chan, user, 'log_blacklist_admin'): added = [] for arg in args: if arg not in bl: bl.add(arg) added.append(arg) return bot.address_msg(user, chan, 'Blacklisted %s' % natural_list(map(repr, added))) return bot.address_msg(user, chan, 'blacklisting other names requires the log_blacklist_admin ' 'privilege in this channel.')
def command_show(self, bot, user, chan, args): if len(args) == 1 and args[0] == 'blacklist': bl = map(repr, sorted(self.per_channel_blacklist.get(chan, ()))) return bot.address_msg(user, chan, 'Blacklist for %s: %s' % (chan, natural_list(bl)))
def command_channels(self, bot, user, channel, args): if len(args) != 0: yield bot.address_msg(user, channel, 'usage: channels') return yield bot.address_msg(user, channel, 'configured to join: %s' % natural_list(sorted(bot.join_channels)))
def command_show(self, bot, user, chan, args): if len(args) == 1 and args[0] == 'blacklist': bl = map(repr, sorted(self.per_channel_blacklist.get(chan, ()))) return bot.address_msg( user, chan, 'Blacklist for %s: %s' % (chan, natural_list(bl)))