self.db.port = PORT_SSL
if not self.db.user_wanted:
self.db.user_wanted = getuser()
+ self._autojoins: set[str] = set()
def connect(self) -> None:
'Attempt to open connection, on success perform session init steps.'
def close(self) -> None:
'Close connection and wipe memory of its states.'
+ if not self._autojoins:
+ for name in self.db.channels.keys():
+ self._autojoins.add(name)
self.db.clear()
if self.conn:
self.conn.close()
setattr(node, tok_name, ret[tok_name])
else:
getattr(node, tok_name)()
- if ret['_verb'] == '005': # RPL_ISUPPORT
+ if ret['_verb'] == '001': # RPL_WELCOME
+ for name in self._autojoins:
+ self.send('JOIN', name)
+ self._autojoins.clear()
+ elif ret['_verb'] == '005': # RPL_ISUPPORT
for item in ret['isupport']:
if item[0] == '-':
del self.db.isupport[item[1:]]