Search code examples
pythondiscorddiscord.py

Clear queue when discord.py bot gets disconnected


I need to clear queue when bot got disconnected from vc. Like that.

I know that i must use on_voice_state_update, but I have no idea how to do it. Have tried to do it my self but got stuck on before and after states. Please help

    @bot.event
    async def on_voice_state_update(member, before, after):
        if before.voice is None and after.voice is not None:
            disconnect()

Solution

  • Ok here is full answer

    @bot.event
    async def on_voice_state_update(member, before, after):
        if before.channel is not None and after.channel is None and member.bot == True:
            guild=member.guild
            vc: wavelink.Player = guild.voice_client
            await vc.disconnect()
            vc.queue.clear()