Пример #1
0
 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.')
Пример #2
0
 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.')
Пример #3
0
 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)))
Пример #4
0
 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)))
Пример #5
0
 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)))