Update __init__.py

This commit is contained in:
Swee 2024-10-20 15:11:20 -07:00
parent 4a5918bfa8
commit 0a4e5503af

View file

@ -41,6 +41,7 @@ class IRCSession: # Actual IRC session
self.context = ssl_module.create_default_context()
self.wsocket = None
self.server, self.port, self.nick, self.user, self.ssl, self.ssl_accept_invalid, self.realname = address,port,nick,user,ssl,ssl_igninvalid,realname
self.msgcache_index=0
if ssl:
if ssl_igninvalid:
self.context = ssl_module._create_unverified_context()
@ -113,6 +114,10 @@ class IRCSession: # Actual IRC session
threading.Thread(target=self._dump_message_cache, kwargs={"content": self.raw_text}).start()
def _dump_message_cache(self, content:str): # The thread of parsing all of the raw data, dumping all of it in the messages list.
self.messages = self.parse(content)
if self.msgcache_index+1 < len(self.messages):
self.msgcache_index = len(self.messages)-1
def message(self, message:Message):
return message
def parse(self, content:str): # Attempt to parse raw data into a Message or SystemMessage object
cache = []
for i in content.replace("\r\n", "\n").split("\n"):
@ -121,6 +126,8 @@ class IRCSession: # Actual IRC session
if len(spaced) > 4:
if spaced[1] == "NOTICE":
cache.append(SystemMessage(content=" ".join(spaced[3:])[1:],user=User(name=spaced[0][1:] if not "@" in spaced[0] else spaced[0][1:].split("!")[0], system=system_), typ="notice", mention=not system_))
elif spaced[1] == "433":
cache.append(SystemMessage(content=" ".join(spaced[4:])[1:],user=User(name=spaced[0][1:], system=True), typ="error", mention=True))
if len(cache) == 1:
return cache[0]
else: