Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
042495cde2 |
@@ -43,21 +43,6 @@ class DiscordBotManager:
|
|||||||
|
|
||||||
@self.bot.event
|
@self.bot.event
|
||||||
async def on_voice_state_update(member, before, after):
|
async def on_voice_state_update(member, before, after):
|
||||||
# Check if the bot was disconnected
|
|
||||||
if member == self.bot.user and after.channel is None:
|
|
||||||
guild_id = before.channel.guild.id
|
|
||||||
if not self.voice_clients.get(guild_id):
|
|
||||||
LOGGER.info("Bot has left channel, reconnection ignored.")
|
|
||||||
return
|
|
||||||
LOGGER.info(f"Bot was disconnected from channel in guild {guild_id}. Attempting to reconnect...")
|
|
||||||
try:
|
|
||||||
await self.leave_voice_channel(guild_id)
|
|
||||||
except Exception as e:
|
|
||||||
LOGGER.warning(f"Error leaving voice channel: '{e}'")
|
|
||||||
# Attempt to reconnect to the channel after a brief pause
|
|
||||||
await asyncio.sleep(2)
|
|
||||||
await self.join_voice_channel(guild_id, before.channel.id)
|
|
||||||
|
|
||||||
if member == self.bot.user and before.channel is None and after.channel is not None:
|
if member == self.bot.user and before.channel is None and after.channel is not None:
|
||||||
print(f"{member.name} joined voice channel {after.channel.name}")
|
print(f"{member.name} joined voice channel {after.channel.name}")
|
||||||
self._voice_ready_event.set()
|
self._voice_ready_event.set()
|
||||||
|
|||||||
Reference in New Issue
Block a user