self.slowmsgqueue = deque()
self._makemsgtimer()
self._msgtimer.start()
+ self.joined_chans = False
def __del__(self):
try:
self.conn.send("MODE %s +x" % (pieces[2]))
if self.authname is not None and self.authpass is not None:
- self.conn.send("AUTH %s %s" % (self.authname, self.authpass))
+ self.conn.send(self.parent.cfg.get('erebus', 'auth_command', "AUTH %s %s") % (self.authname, self.authpass))
if not self.parent.cfg.getboolean('erebus', 'wait_for_hidden_host'):
for c in self.chans:
self.join(c.name)
+ self.joined_chans = True
def _gotHiddenHost(self, pieces):
- if self.parent.cfg.getboolean('erebus', 'wait_for_hidden_host'):
+ if not self.joined_chans and self.parent.cfg.getboolean('erebus', 'wait_for_hidden_host'):
for c in self.chans:
self.join(c.name)
+ self.joined_chans = True
def _gotprivmsg(self, pieces):
nick = pieces[0].split('!')[0][1:]
user = self.parent.user(nick)
self._nowrite = False
def connect(self):
- if self.parent.cfg.getboolean('erebus', 'tls'):
+ if self.parent.parent.cfg.getboolean('erebus', 'tls'):
import ssl
undersocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
context = ssl.create_default_context()
- self.socket = context.wrap_socket(undersocket, self.server)
+ self.socket = context.wrap_socket(undersocket, server_hostname=self.server)
else:
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) # Does Python make SOL_TCP portable? Who knows, it's not documented, and it appears to come from the _socket C lib.