如何使漫游器加入语音通道discord.py

时间:2020-05-13 21:04:50

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

我正在使用discord.py创建一个音乐机器人,但是在将机器人连接到语音通道时遇到了麻烦。我正在使用嵌齿轮将音乐功能与其他功能区分开来。

@commands.command()
async def join_voice(self, ctx):
    channel = ctx.author.voice.channel
    print(channel.id)
    await self.client.VoiceChannel.connect()

但是我得到了错误: AttributeError: 'NoneType' object has no attribute 'channel'

我在这里查看了所有文档以及所有类似的问题,但仍然没有解决方案!

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:6)

您真的很亲密!您唯一需要更改的是:

@commands.command()
async def join_voice(self, ctx):
    connected = ctx.author.voice
    if connected:
        await connected.channel.connect() #  Use the channel instance you put into a variable

您正在执行的是获取VoiceChannel类对象,而不是用户已连接到的实际VoiceChannel实例。这就是您要输入错误的原因,因为它试图找到一个不存在的语音通道。

很高兴看到进度,保持进度!

答案 1 :(得分:1)