Discord.py生成调用命令者所在语音频道邀请链接报错问题
问题解决:Discord机器人生成语音频道邀请链接报错
你的代码存在两个关键问题导致报错:
ctx.author.voice是VoiceState对象,并非语音频道本身,需访问它的channel属性才能获取目标频道实例create_invite()是异步方法,必须使用await关键字调用才能获取结果
修正后的代码如下:
@client.command() async def voiceinvite(ctx): if ctx.author.voice: # 获取用户当前所在的语音频道对象 voice_channel = ctx.author.voice.channel # 异步创建邀请链接 invite = await voice_channel.create_invite(max_age=120, max_uses=10) await ctx.send(f"语音频道邀请链接:{invite}") else: await ctx.send("请先加入一个语音频道!")
关键修改说明:
- 通过
ctx.author.voice.channel正确获取用户所在的语音频道实例 - 对
create_invite()添加await关键字,等待异步操作完成后再处理结果 - 用格式化字符串更直观地输出邀请链接
内容的提问来源于stack exchange,提问作者Staples
相关产品推荐
相关产品推荐

