当前位置: 首页 > 知识库问答 >
问题:

如何让我的不和谐机器人(Python API)在事件中离开语音通道?

高兴贤
2023-03-14

我需要帮助,让我的discord机器人通过Python API的事件离开语音通道。我已经创建了一个事件,使我的机器人加入一个语音频道,如果在5秒后只有一个人出现在该频道,这部分工作。然后,如果另一个人加入或离开,我需要我的机器人离开频道。我一直想不出如何让它离开。任何帮助都将不胜感激!下面是我的方法现在的样子,需要“离开语音频道”评论的帮助:

@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

共有1个答案

百里嘉泽
2023-03-14

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

 类似资料:
  • 我有一个机器人,我正在使用C#和这个SDKhttps://github.com/RogueException/Discord.Net 我试图找出一种方法,该方法基于某人何时加入语音频道并离开,基于他是谁。Discord API频道说我需要使用网关和“语音状态更新”事件,但我不太清楚如何做到这一点。 有没有办法用文档,https://discord.foxbot.me/docs/api/index.

  • 所以最近我一直在为不和谐制作音乐机器人,但如果没有人在语音频道中超过5分钟,我想让我的机器人离开频道。目前,我的机器人仅通过停止命令断开连接 有人能帮我吗?我将不胜感激。

  • 我为机器人制作了加入语音频道的代码, 当任何用户键入“离开”时,我希望机器人离开它所在的服务器。我该怎么做?

  • 我有一个问题,我正在使用discord.js播放音乐,但当我发送命令$stop时,我的bot没有离开语音通道,请帮助!

  • 我希望我的不和谐机器人加入语音频道。但是我遇到了一个问题,每当我想让它加入风投时,什么都不会发生——甚至没有错误。我尝试过SO/Git的其他解决方案,但没有一个适合我(下面有一个)。 编辑:解决了!问题是:没有不和。已安装py[语音]模块。解决方案:

  • 我正在努力让我的机器人进入语音频道,我已经阅读了这里的很多帖子,但没有一篇能够解决我的问题,我正在尝试让我的机器人复制yt视频的声音,但它甚至没有加入,我不知道该怎么办,下面是代码: