1
mirror of git://git.acid.vegas/IRCP.git synced 2024-11-22 16:06:41 +00:00

database collection was moved to the top so it is written before we raise exceptions on bans

This commit is contained in:
Dionysus 2023-05-28 14:40:35 -04:00
parent 2b7d36bbfc
commit f659c4c362
Signed by: acidvegas
GPG Key ID: EF4B922DB85DC9DE

16
ircp.py
View File

@ -274,6 +274,14 @@ class probe:
args = line.split()
numeric = args[1]
#debug(line)
if numeric in self.snapshot:
if not self.snapshot[numeric]:
self.snapshot[numeric] = line
elif line not in self.snapshot[numeric]:
if type(self.snapshot[numeric]) == list:
self.snapshot[numeric].append(line)
elif type(self.snapshot[numeric]) == str:
self.snapshot[numeric] = [self.snapshot[numeric], line]
if line.startswith('ERROR :Closing Link'):
raise Exception('DroneBL') if 'dronebl' in line.lower() else Exception('Banned')
elif line.startswith('ERROR :Trying to reconnect too fast') or line.startswith('ERROR :Your host is trying to (re)connect too fast') or line.startswith('ERROR :Reconnecting too fast'):
@ -352,14 +360,6 @@ class probe:
else:
if [i for i in ('You\'re banned','You are permanently banned','You are banned','You are not welcome') if i in msg]:
raise Exception('K-Lined')
if numeric in self.snapshot:
if not self.snapshot[numeric]:
self.snapshot[numeric] = line
elif line not in self.snapshot[numeric]:
if type(self.snapshot[numeric]) == list:
self.snapshot[numeric].append(line)
elif type(self.snapshot[numeric]) == str:
self.snapshot[numeric] = [self.snapshot[numeric], line]
else:
self.snapshot['raw'].append(line)
except (UnicodeDecodeError, UnicodeEncodeError):