discord.ext.commands.errors.BadArgument:转换为 "ABCMeta" 失败,参数 "member" 等待 remove_friend 错误

discord.ext.commands.errors.BadArgument: Converting to "ABCMeta" failed for parameter "member" await remove_friend error

@client.command()
async def unfriend(ctx, member = discord.Member):
    await remove_friend(friend=member)
    await ctx.send(f'{friend} has been unfriended :<')

我正在尝试创建解除好友关系并发送好友请求命令,但这个恼人的错误一直出现。

discord.ext.commands.errors.BadArgument: Converting to "ABCMeta" failed for parameter "member".

我是不是做错了什么?如果是,我该如何解决。请提供清楚的解释和好的解决方案,谢谢:>

因此,截至目前,您正在提供 member 参数以随您的命令一起传递。但是,= 符号表示默认值。所以你默认它是一个 Member 对象的实例,我假设你正在尝试使用 type hints ,它用 :.

表示
@client.command()
async def unfriend(ctx, member: discord.Member):

然后,您试图使用 remove_friend 属性,而不使用必要的对象。即 UserMember.

await member.remove_friend()

此处不需要friend=member,因为我们已经在原始对象中引用了该成员。

无论如何,这是不可能用机器人帐户做的,因为他们不能 add/remove 朋友。它可以与 Self-bot 一起使用,但是他们反对 TOS,所以我建议反对他们。