def __init__(self, server): super(Module, self).__init__(server) # Hook Commands api.hook_command(';', self.set_spam_string, server, su = True) # Load/Set Settings self.hilight_limit = api.get_config_int('BlockBot', 'highlight-limit') findlist = api.get_config_str('BlockBot', 'spam-strings') self.mps_limit = api.get_config_float('BlockBot', 'mps-limit') self.storage_time = 25 self.repeat_limit = 3 self.repeat_1word = 4 self.blacklistkickmsg = api.get_config_str('BlockBot','blacklist-kick-msg') self.floodkickmsg = api.get_config_str('BlockBot', 'flood-kick-msg') self.repeatkickmsg = api.get_config_str('BlockBot', 'repeat-kick-msg') self.masspingkickmsg = api.get_config_str('BlockBot', 'mass-ping-kick-msg') # Compile Spam Strings self.findlist = [] if findlist: for each in findlist.split('^^^@@@^^^'): self.findlist.append(re.compile(each)) # Load Default Data self.msglist = [] self.nicklists = {} self.lastnot = ('BBot', time.time(), '')
def get_raw(self, t, d): '''Parses raw numerics. Handles nick being in use.''' if t == 'code': if d[0] == '433': # Nick is already in use self.raw('NICK %s_' % config.nick) if use_services: self.msg('NickServ', 'GHOST %s %s' % (config.nick, config.password)) time.sleep(api.get_config_float('main', 'wait-after-identify')) self.raw('NICK %s' % config.nick)