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

音乐机器人没有检测到用户在语音频道中

杨飞
2023-03-14

我有一个叫“土豆音乐”的音乐机器人,它是一个音乐机器人。目前,机器人按照我希望的方式执行命令。但是一旦我停止在本地托管机器人并将其部署在Heroku上,就有一些错误开始出现。

我有一个名为“播放”的命令,每当我执行该命令时,它都应该在语音频道上播放歌曲。play命令在命令开头有一个条件,用于检查用户是否已经在语音频道中。但是在我在Heroku上托管了这个机器人之后,一旦我执行play命令,它就会一直告诉我我没有连接到语音频道。

这是为什么呢?

下面是我用来检查用户是否在语音频道的代码:

@commands.command(pass_context=True)
async def play(self, ctx, *, song):
    # Detect if the user is already in a voice channel
    try:
        channel = ctx.author.voice.channel
        await channel.connect()    
    except Exception:
        pass
    
    voice = get(self.bot.voice_clients, guild=ctx.guild)
    
    # If the user is not connected in the voice channel...
    if not voice or not voice.is_connected():
        embed = discord.Embed(description='You should be connected to a voice channel to use the `p!play` command.', color=discord.Color.red())

        await ctx.send(embed=embed)
        return
    
    ... # The rest of the "play" command code

共有1个答案

漆雕奇逸
2023-03-14

如果不是语音或非语音,请更换。是否已连接():如果未连接到ctx,则连接到。著者语音或非ctx。著者嗓音频道:

不确定它对Heroku是否有效。。。

 类似资料:
  • 尝试制作一个简单的音乐机器人,只播放一个链接,但它不连接到语音通道,因此不会出现任何错误,所以我只能放入所有代码。这是我的主要内容。js公司 这是我的音乐机器人命令,我认为它是正确的,因为我已经在这里请求了一些人的帮助。

  • 我目前正在制作一个音乐不和谐机器人。我的问题是在命令的第一行:即使用户在语音频道中,语音频道也被标记为未定义,并且bot返回“您必须在语音频道中才能使用此命令”

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

  • 我想知道是否有可能知道任何成员连接到discord中的特定语音频道。jsv12。2.0. 最近几天我一直在问这个问题。如果你有什么线索,请告诉我。

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

  • 这是很新的。我一直在阅读readthedocs API参考资料以了解不和谐。这对我来说没什么意义。到目前为止我有 我们的目标是让机器人加入带有的用户加入的语音频道,但我在让机器人加入频道时遇到了麻烦。