Fixed bug where non-UTF8 chars break bot

This commit is contained in:
aewens 2019-01-18 11:40:21 -05:00
parent 7a58cd789d
commit 1296a65b39
1 changed files with 15 additions and 5 deletions

View File

@ -66,9 +66,12 @@ class Bot:
message = ""
magic_string = "End of /NAMES list."
while magic_string not in message:
message = self.ircsock.recv(self.recv_size).decode()
# message = message.strip(self.splitter)
self.logger.debug(message)
try:
message = self.ircsock.recv(self.recv_size).decode()
# message = message.strip(self.splitter)
self.logger.debug(message)
except UnicodeDecodeError:
continue
list_pattern = re.compile("[@=] {} :".format(chan))
user_listing = re.split(list_pattern, message)
@ -231,7 +234,11 @@ class Bot:
magic_string = "MODE {} +r".format(self.botnick)
while magic_string not in message:
message = self.ircsock.recv(self.recv_size).decode()
try:
message = self.ircsock.recv(self.recv_size).decode()
except UnicodeDecodeError:
continue
message = message.strip(self.splitter)
self.logger.debug(message)
if not registered and magic_phrase["has_registered"] in message:
@ -258,7 +265,10 @@ class Bot:
while self.running:
_message = ""
while self.splitter not in _message:
_message = self.ircsock.recv(self.recv_size).decode()
try:
_message = self.ircsock.recv(self.recv_size).decode()
except UnicodeDecodeError:
continue
if "raw" in callback:
callback["raw"](_message)