Пример #1
0
    def start(self):
        log.info(self.reactor)
        self.relay_connection = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(self.relay_connection)

        self._connect()
Пример #2
0
    def make_new_connection(self, name, oauth, can_send_whispers=True):
        server = random.choice(self.servers_list)
        ip, port = server.split(':')
        port = int(port)
        log.debug('Whispers: Connecting to server {0}'.format(server))

        newconn = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(newconn)
        newconn.connect(ip, port, name, oauth, name)
        newconn.cap('REQ', 'twitch.tv/commands')

        # For debugging purposes
        newconn.cap('REQ', 'twitch.tv/membership')
        newconn.cap('REQ', 'twitch.tv/tags')

        return WhisperConnection(newconn, name, oauth, can_send_whispers)
Пример #3
0
class SingleConnectionManager:
    def __init__(self, reactor, host, relay_password, username, password):
        self.reactor = reactor
        self.host = host
        self.username = username
        self.password = '******'.format(relay_password, password)

        # Try to reconnect every 3 seconds
        self.recon = StaticInterval(3)

        self.relay_connection = None

    def start(self):
        log.info(self.reactor)
        self.relay_connection = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(self.relay_connection)

        self._connect()

    def _connect(self):
        ip, port = self.host.split(':')
        port = int(port)
        log.debug('Connecting to relay {}:{}'.format(ip, port))
        try:
            self.relay_connection.connect(ip, port, self.username,
                                          self.password, self.username)
        except irc.client.ServerConnectionError:
            log.error('Error connecting to {}:{}'.format(ip, port))
            self.recon.run(self)

    def privmsg(self, channel, message):
        try:
            return self.relay_connection.privmsg(channel, message)
        except irc.client.ServerNotConnectedError:
            log.warning(
                'Unable to send message "{}", not connected to the relay.'.
                format(message))
            pass

    def whisper(self, username, message):
        return self.relay_connection.privmsg(
            '#jtv', '/w {0} {1}'.format(username, message))

    def on_disconnect(self):
        self.recon.run(self)
Пример #4
0
class SingleConnectionManager:
    def __init__(self, reactor, host, relay_password, username, password):
        self.reactor = reactor
        self.host = host
        self.username = username
        self.password = '******'.format(relay_password, password)

        # Try to reconnect every 3 seconds
        self.recon = StaticInterval(3)

        self.relay_connection = None

    def start(self):
        self.relay_connection = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(self.relay_connection)

        self._connect()

    def _connect(self):
        ip, port = self.host.split(':')
        port = int(port)
        log.debug('Connecting to relay {}:{}'.format(ip, port))
        try:
            log.debug('1')
            self.relay_connection.connect(ip, port, self.username, self.password, self.username)
            log.debug('2')
        except irc.client.ServerConnectionError:
            log.error('Error connecting to {}:{}'.format(ip, port))
            self.recon.run(self)

    def privmsg(self, channel, message):
        try:
            return self.relay_connection.privmsg(channel, message)
        except irc.client.ServerNotConnectedError:
            log.warning('Unable to send message "{}", not connected to the relay.'.format(message))
            pass

    def whisper(self, username, message):
        return self.relay_connection.privmsg('#jtv', '/w {0} {1}'.format(username, message))

    def on_disconnect(self):
        self.recon.run(self)
Пример #5
0
    def make_new_connection(self, name, oauth, can_send_whispers=True):
        server = random.choice(self.servers_list)
        ip, port = server.split(':')
        port = int(port)
        log.debug('Whispers: Connecting to server {0}'.format(server))

        newconn = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(newconn)
        newconn.connect(ip, port, name, oauth, name)
        newconn.cap('REQ', 'twitch.tv/commands')

        # For debugging purposes
        newconn.cap('REQ', 'twitch.tv/membership')
        newconn.cap('REQ', 'twitch.tv/tags')

        return WhisperConnection(newconn, name, oauth, can_send_whispers)
Пример #6
0
    def start(self):
        self.relay_connection = CustomServerConnection(self.reactor)
        with self.reactor.mutex:
            self.reactor.connections.append(self.relay_connection)

        self._connect()