我正在使用discord.py重写制作一个discord机器人,最近遇到了问题。
我已经下达了加入用户语音通道的命令。问题是,当我在本地PC上运行命令时,我的命令可以正常运行,但是现在我试图在树莓派上运行它,所以在连接到语音通道时会失败。
我尝试安装所有依赖项,但无法正常工作。 该命令的代码:
@bot.command()
async def join(ctx):
channel = ctx.message.author.voice.channel
voice = get(bot.voice_clients, guild=ctx.guild)
if voice and voice.is_connected():
await voice.move_to(channel)
else:
voice = await channel.connect()
await ctx.send("I joined the channel!")
没有例外。
答案 0 :(得分:1)
您使用的是错误的方式来连接语音通道。 尝试使用此代码。
它标识用户所在的位置并在该语音通道中进行连接。
@bot.command(name='join', invoke_without_subcommand=True)
async def join(ctx):
destination = ctx.author.voice.channel
if ctx.voice_state.voice:
await ctx.voice_state.voice.move_to(destination)
return
ctx.voice_state.voice = await destination.connect()
await ctx.send(f"Joined {ctx.author.voice.channel} Voice Channel")