【问题标题】:How to have my Discord Bot (Python API) leave a voice channel in an event?如何让我的 Discord Bot (Python API) 在活动中离开语音频道?
【发布时间】:2022-01-26 03:48:00
【问题描述】:

我需要帮助,让我的 discord 机器人通过 Python API 的事件离开语音频道。 我创建了一个事件,如果 5 秒后该频道中只有 1 个人出现,则让我的机器人加入语音频道,这部分有效。然后,如果另一个人加入或一个人离开,我需要我的机器人离开频道。我一直无法弄清楚如何让它离开。任何帮助将非常感激!这是我的方法现在的样子,在“#Leave voice channel”评论中需要帮助:

@client.event
async def on_voice_state_update(member, before, after):
if member == client.user:  #CATCH
    return

if after.channel is None: #User has left a voice channel
    print("User left voice channel")
    return

else:
    if before.channel is not after.channel:
        memids = []
        VC = member.voice.channel

        for mem in VC.members:
            memids.append(mem.id)

        if len(memids) == 1:
            await asyncio.sleep(5)  #to be 10
            print(len(memids))
            if len(memids) == 1:
                await VC.connect()
                print("Joined Channel")
            else:
                print("Not Alone Anymore...")
                return
        else:
            print("!=1")
            #Leave voice channel

    else:
        return
    return
return

【问题讨论】:

    标签: python-3.x discord discord.py


    【解决方案1】:

    希望我能帮上忙

     @client.command()
           async def leave(ctx):
               voice = get(client.voice_clients, guild=ctx.guild)
        
               if voice.is_playing():
                   voice.stop()
                   await ctx.send('Stopping...')
    
       
    

    【讨论】:

      【解决方案2】:

      您可以使用await ctx.voice_client.disconnect() 断开连接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-28
        • 1970-01-01
        • 2020-07-14
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 2021-01-05
        • 2020-07-06
        相关资源
        最近更新 更多