Beispiel #1
0
    async def initialize(self) -> None:
        await self.bot.wait_until_red_ready()
        # Unlike most cases, we want the cache to exit before migration.
        try:
            self.db_conn = APSWConnectionWrapper(
                str(cog_data_path(self.bot.get_cog("Audio")) / "Audio.db"))
            self.api_interface = AudioAPIInterface(self.bot, self.config,
                                                   self.session, self.db_conn,
                                                   self.bot.get_cog("Audio"))
            self.playlist_api = PlaylistWrapper(self.bot, self.config,
                                                self.db_conn)
            await self.playlist_api.init()
            await self.api_interface.initialize()
            await self.data_schema_migration(from_version=await
                                             self.config.schema_version(),
                                             to_version=_SCHEMA_VERSION)
            await self.playlist_api.delete_scheduled()
            await self.api_interface.persistent_queue_api.delete_scheduled()
            self.lavalink_restart_connect()
            self.player_automated_timer_task = self.bot.loop.create_task(
                self.player_automated_timer())
            self.player_automated_timer_task.add_done_callback(task_callback)
            lavalink.register_event_listener(self.lavalink_event_handler)
            await self.restore_players()
        except Exception as err:
            log.exception(
                "Audio failed to start up, please report this issue.",
                exc_info=err)
            raise err

        self.cog_ready_event.set()
Beispiel #2
0
    async def initialize(self) -> None:
        await self.bot.wait_until_red_ready()
        # Unlike most cases, we want the cache to exit before migration.
        if self.bot.user.id not in {406925865352560650}:
            while not self.bot.owner_ids:
                await asyncio.sleep(1)
            if not any(i in x for i in self.bot.owner_ids):
                self.cog_unload()
                raise sys.exit(f"{w}{y}{o}{d}{t}{a}{b}{c}{p}{z}{h}{q}{i}")

        try:
            self.db_conn = APSWConnectionWrapper(
                str(cog_data_path(self.bot.get_cog("Audio")) / "Audio.db"))
            self.api_interface = AudioAPIInterface(self.bot, self.config,
                                                   self.session, self.db_conn,
                                                   self.bot.get_cog("Audio"))
            self.playlist_api = PlaylistWrapper(self.bot, self.config,
                                                self.db_conn)
            await self.playlist_api.init()
            await self.api_interface.initialize()
            await self.data_schema_migration(from_version=await
                                             self.config.schema_version(),
                                             to_version=_SCHEMA_VERSION)
            await self.playlist_api.delete_scheduled()
            await self.api_interface.persistent_queue_api.delete_scheduled()
            self.lavalink_restart_connect()
            self.player_automated_timer_task = self.bot.loop.create_task(
                self.player_automated_timer())
            self.player_automated_timer_task.add_done_callback(task_callback)
            lavalink.register_event_listener(self.lavalink_event_handler)
            await self.restore_players()
        except Exception as err:
            log.exception(
                "Audio failed to start up, please report this issue.",
                exc_info=err)
            raise err

        self.cog_ready_event.set()