def __init__(self, name, config, irc): self.irc = irc self.name = name self.config = config self.nick = config['nick'] self.server = config['servers'].keys()[0] self.password = config['servers'][self.server]['password'] self.port = config['servers'][self.server]['port'] self.ssl = config['servers'][self.server]['ssl'] self.verify = config['servers'][self.server]['verify'] self.connected = False self.connection = None self.root = Channel(self, '') self.channels = {} async_ui_message('new_channel', self, self.root)
def run(self): self.irc = IRC() self.irc.add_global_handler(event='all_events', handler=self.process_events, priority=-1) self.network_config = Dotfile('networks', use_defaults=False) self.connections = {} self.networks = {} log.info('starting engine') irc_thread = threading.Thread(target=self.process_irc) irc_thread.start() command_thread = threading.Thread(target=self.process_commands) command_thread.start() while command_thread.is_alive(): command_thread.join() log.debug('command_thread stopped') while irc_thread.is_alive(): irc_thread.join() log.debug('irc_thread stopped') async_ui_message('stopped')
def on_join(self, event): name = event.target() channel = Channel(self, name) self.channels[name] = channel async_ui_message('new_channel', self, channel)
def add_message(self, source, message): self.messages.append((time.time(), source, message)) async_ui_message('message', self.network, self)