diff --git a/cogs/music/__init__.py b/cogs/music/__init__.py index 51b61d3..174bf52 100644 --- a/cogs/music/__init__.py +++ b/cogs/music/__init__.py @@ -11,6 +11,7 @@ from cogs.music.interactions import MusicCommands from cogs.music.interactions import QUEUE_SIZE from cogs.music.voice_client import LavalinkVoiceClient from utils.classes import BaseCog +from utils.log import logger if typing.TYPE_CHECKING: @@ -32,13 +33,17 @@ class MusicCog(BaseCog, name="Music"): redis_result = await self.bot.global_autojoin.fetch_channels() for guild_id, (voicechannel_id, textchannel_id) in redis_result.items(): - player = self.bot.lavalink.player_manager.create(guild_id) - player.store("channel", textchannel_id) - voice_channel = await self.bot.fetch_channel(voicechannel_id) - await voice_channel.connect(cls=LavalinkVoiceClient) - if not player.is_playing: - await helper.fill_player_queue(self.bot, player, QUEUE_SIZE) - await player.play() + try: + player = self.bot.lavalink.player_manager.create(guild_id) + player.store("channel", textchannel_id) + voice_channel = await self.bot.fetch_channel(voicechannel_id) + await voice_channel.connect(cls=LavalinkVoiceClient) + if not player.is_playing: + await helper.fill_player_queue(self.bot, player, QUEUE_SIZE) + await player.play() + except: + logger.error(f"Failed to autojoin guild {guild_id}.") + async def track_hook(self, event: lavalink.Event): if isinstance(event, lavalink.events.QueueEndEvent):