def _on_connect(self): """handle connection/reconnection""" logger.debug("connected") plugins.tracking.set_bot(self) command.set_tracking(plugins.tracking) command.set_bot(self) self.tags = tagging.tags(self) self._handlers = handlers.EventHandler(self) handlers.handler.set_bot(self) # shim for handler decorator """ monkeypatch plugins go heere # plugins.load(self, "monkeypatch.something") use only in extreme circumstances e.g. adding new functionality into hangups library """ #self._user_list = yield from hangups.user.build_user_list(self._client) self._user_list, self._conv_list = ( yield from hangups.build_user_conversation_list(self._client) ) self.conversations = yield from permamem.initialise_permanent_memory(self) plugins.load(self, "commands.plugincontrol") plugins.load(self, "commands.basic") plugins.load(self, "commands.tagging") plugins.load(self, "commands.permamem") plugins.load(self, "commands.convid") plugins.load(self, "commands.loggertochat") plugins.load_user_plugins(self) self._conv_list.on_event.add_observer(self._on_event) self._client.on_state_update.add_observer(self._on_status_changes) logger.info("bot initialised")
def _on_connect(self, initial_data): """handle connection/reconnection""" logger.debug("connected") plugins.tracking.set_bot(self) command.set_tracking(plugins.tracking) command.set_bot(self) self.tags = tagging.tags(self) self._handlers = handlers.EventHandler(self) handlers.handler.set_bot(self) # shim for handler decorator plugins.load(self, "monkeypatch.otr_support") self._user_list = yield from hangups.user.build_user_list(self._client, initial_data) self._conv_list = hangups.ConversationList(self._client, initial_data.conversation_states, self._user_list, initial_data.sync_timestamp) self.conversations = yield from permamem.initialise_permanent_memory(self) plugins.load(self, "commands.plugincontrol") plugins.load(self, "commands.basic") plugins.load(self, "commands.tagging") plugins.load(self, "commands.permamem") plugins.load(self, "commands.convid") plugins.load(self, "commands.loggertochat") plugins.load_user_plugins(self) self._conv_list.on_event.add_observer(self._on_event) self._client.on_state_update.add_observer(self._on_status_changes) logger.info("bot initialised") yield from self.coro_send_message(CONTROL, _("Bot is back up"))
def _on_connect(self): """handle connection/reconnection""" logger.debug("connected") plugins.tracking.set_bot(self) command.set_tracking(plugins.tracking) command.set_bot(self) self.tags = tagging.tags(self) self._handlers = handlers.EventHandler(self) handlers.handler.set_bot(self) # shim for handler decorator """ monkeypatch plugins go heere # plugins.load(self, "monkeypatch.something") use only in extreme circumstances e.g. adding new functionality into hangups library """ #self._user_list = yield from hangups.user.build_user_list(self._client) self._user_list, self._conv_list = ( yield from hangups.build_user_conversation_list(self._client)) self.conversations = yield from permamem.initialise_permanent_memory( self) plugins.load(self, "commands.plugincontrol") plugins.load(self, "commands.basic") plugins.load(self, "commands.tagging") plugins.load(self, "commands.permamem") plugins.load(self, "commands.convid") plugins.load(self, "commands.loggertochat") plugins.load_user_plugins(self) self._conv_list.on_event.add_observer(self._on_event) self._client.on_state_update.add_observer(self._on_status_changes) logger.info("bot initialised")
def _on_connect(self, initial_data): """handle connection/reconnection""" logger.debug("connected") plugins.tracking.set_bot(self) command.set_tracking(plugins.tracking) command.set_bot(self) self.tags = tagging.tags(self) self._handlers = handlers.EventHandler(self) handlers.handler.set_bot(self) # shim for handler decorator plugins.load(self, "monkeypatch.otr_support") self._user_list = yield from hangups.user.build_user_list( self._client, initial_data) self._conv_list = hangups.ConversationList( self._client, initial_data.conversation_states, self._user_list, initial_data.sync_timestamp) self.conversations = yield from permamem.initialise_permanent_memory( self) plugins.load(self, "commands.plugincontrol") plugins.load(self, "commands.basic") plugins.load(self, "commands.tagging") plugins.load(self, "commands.permamem") plugins.load(self, "commands.convid") plugins.load(self, "commands.loggertochat") plugins.load_user_plugins(self) self._conv_list.on_event.add_observer(self._on_event) self._client.on_state_update.add_observer(self._on_status_changes) logger.info("bot initialised")
def register_command_argument_preprocessors_group(self, name): """add a argument preprocessor to the plugin tracking""" if name not in self._current["commands"]["argument.preprocessors"]: self._current["commands"]["argument.preprocessors"].append(name) def register_aiohttp_session(self, session): """register a session that will be closed on pluginunload Args: session: aio.client.ClientSession-like instance """ self._current["aiohttp.session"].append(session) tracking = Tracker() command.set_tracking(tracking) # helpers, used by loaded plugins to register commands def register_user_command(command_names, tags=None): """user command registration""" if not isinstance(command_names, list): command_names = [command_names] tracking.register_command("user", command_names, tags=tags) def register_admin_command(command_names, tags=None): """admin command registration, overrides user command registration""" if not isinstance(command_names, list): command_names = [command_names] tracking.register_command("admin", command_names, tags=tags)