Beispiel #1
0
    def ping(self):
        now = int(time.time())

        if now - self.last_ping > config.get('core.ping_interval'):
            self.logger.debug('Ping...')
            self.client.ping()
            self.last_ping = now
Beispiel #2
0
    def ping(self):
        now = int(time.time())

        if now - self.last_ping > config.get('core.ping_interval'):
            self.logger.debug('Ping...')
            self.client.ping()
            self.last_ping = now
Beispiel #3
0
    def shutdown(self):
        self.logger.info('Attempting graceful shutdown...')
        self.serve = False
        self.join(config.get('core.thread_join_timeout'))
        self.plugins.shutdown()

        sys.exit()
Beispiel #4
0
    def shutdown(self):
        self.logger.info('Attempting graceful shutdown...')
        self.serve = False
        self.join(config.get('core.thread_join_timeout'))
        self.plugins.shutdown()

        sys.exit()
Beispiel #5
0
    def run(self):
        while self._serve:
            try:
                event = self._q.get(True, config.get('core.thread_sleep_time'))
            except queue.Empty:
                continue

            try:
                self.on_event(event)
            except Exception as e:
                if event.channel:
                    self._client.send_message(event.channel, ':angry: *You broke me (_but I live on_):* \n```' + traceback.format_exc() + '```')
                self._logger.exception(e)

        self.on_shutdown()
Beispiel #6
0
    def run(self):
        while self.serve:
            try:
                events = self.client.read_events()
            except Exception as e:
                self.logger.exception(e)

            if len(events):
                for event in events:
                    if event.user == self.me:
                        self.logger.debug('Skipping message from myself.')

                        continue

                    self.plugins.dispatch(event)

            time.sleep(config.get('core.thread_sleep_time'))
            self.ping()
Beispiel #7
0
    def run(self):
        while self.serve:
            try:
                events = self.client.read_events()
            except Exception as e:
                self.logger.exception(e)

            if len(events):
                for event in events:
                    if event.user == self.me:
                        self.logger.debug('Skipping message from myself.')

                        continue

                    self.plugins.dispatch(event)

            time.sleep(config.get('core.thread_sleep_time'))
            self.ping()
Beispiel #8
0
    def run(self):
        while self._serve:
            try:
                event = self._q.get(True, config.get('core.thread_sleep_time'))
            except queue.Empty:
                continue

            try:
                self.on_event(event)
            except Exception as e:
                if event.channel:
                    self._client.send_message(
                        event.channel,
                        ':angry: *You broke me (_but I live on_):* \n```' +
                        traceback.format_exc() + '```')
                self._logger.exception(e)

        self.on_shutdown()
Beispiel #9
0
    def shutdown(self):
        for plugin in self._plugins:
            plugin.shutdown()

        for plugin in self._plugins:
            plugin.join(config.get('core.thread_join_timeout'))
Beispiel #10
0
 def __init__(self):
     self._messages = {}
     self._timestamps = collections.deque([])
     self._size = config.get("core.channel_message_buffer_size")
Beispiel #11
0
 def __init__(self):
     self._messages = {}
     self._timestamps = collections.deque([])
     self._size = config.get('core.channel_message_buffer_size')