Python (Discord.py)我给用户分配角色的命令无效

Python (Discord.py)我给用户分配角色的命令无效,python,discord.py,Python,Discord.py,我正在尝试对其进行编码,以便有人可以使用.role命令为另一个人提供一个角色,因此它看起来像这样: .role@Daily Cringe 理想情况下,机器人将每天扮演“畏缩”角色。然而,它不起作用 代码如下: @client.command() async def role(ctx, member: discord.Member = ctx.author, role: discord.Role): await ctx.member.add_roles(role) await ctx.

我正在尝试对其进行编码,以便有人可以使用.role命令为另一个人提供一个角色,因此它看起来像这样:

.role@Daily Cringe

理想情况下,机器人将每天扮演“畏缩”角色。然而,它不起作用

代码如下:

@client.command()
async def role(ctx, member: discord.Member = ctx.author, role: discord.Role):
   await ctx.member.add_roles(role)
   await ctx.send(f"The role ''**{role}**'' was just given to you")
我试图将
member
的默认值设置为
ctx.author
,但随后出现了一个问题:

async def role(ctx, member: discord.Member = ctx.author, role: discord.Role):
                   ^
SyntaxError: non-default argument follows default argument
我试图更改它,使
角色
变量的默认值等于None,但这似乎也不起作用

有什么想法吗


我使用Visual Studio代码、Python 3.8.6 64位和MacOS Catalina 10.15.7

您的代码有几个错误。首先,您不能执行
member:discord.member=ctx.author
,因为
ctx
尚未定义。您必须将成员的默认值设置为None,并检查该成员是否为None

然后,您不能使用
ctx.member.add\u roles(role)
添加角色。您必须执行
成员。添加角色(角色)

@client.command()
异步定义角色(ctx,成员:discord.member=None,角色:discord.role):
如果不是成员:
成员=ctx.author
等待成员。添加_角色(角色)
wait ctx.send(f“角色'**{role}**''刚刚给了您”)