我试
@bot.command(pass_context=True)
@commands.has_role(764795150424866836)
async def removerole(ctx, user: discord.Member, role: 763045556200931348):
await user.remove_roles(role)
字符串
但我得到一个错误:
discord.ext.commands.errors.MissingRequiredArgument: role is a required argument that is missing.
型
希望你能帮我。
2条答案
按热度按时间zdwk9cvp1#
你应该试着把你的函数重写成这样:
字符串
你得到这个错误的原因,是因为你没有预先定义
role
变量。这是通过这样做来完成的:role=763045556200931348
。相反,你通过这样做来定义变量的类型(discord.Member
):role: 763045556200931348
,这是角色变量的错误实现。uqdfh47h2#
当你指定参数的
class
时,你在参数中使用:
。如果你想赋值,你应该像async def removerole(ctx, user: discord.Member, role=763045556200931348):
一样使用=
。但我认为这不是你想要的。你想从用户中删除角色。你可以通过提到角色来完成。字符串
有了这个,你只需要提到你想从用户中删除的。
但是如果你只想输入角色id来删除角色,你可以使用
guild.get_role(id)
。型