在 discord.py 中,我如何在加入时为用户添加多个角色

In discord.py, how do i add multiple roles to users upon joining

我正在制作一个 discord 机器人,它会发送欢迎消息并在您加入时为您提供 两个 角色。我想出了如何让它添加一个,但我似乎无法让它添加两个角色。这是我的代码:

@client.event 
async def on_member_join(member):
    if member.guild.name == "miller's bedroom":
        embed = discord.Embed(description=f"Hey {member.mention}, what's up? Welcome to **{member.guild.name}**! <:m_yo:782996060544827423>", color=0x02acff)
        await client.get_channel(782984495061794857).send(embed=embed)
        roles = discord.utils.get(member.guild.roles, name="Member", "▬▬▬ Reaction Roles ▬▬▬", "▬▬▬ Member Roles ▬▬▬")
        await member.add_roles(roles)

这是我遇到的错误:

File "main.py", line 21
    roles = discord.utils.get(member.guild.roles, name="Member", "▬▬▬ Reaction Roles ▬▬▬", "▬▬▬ Member Roles ▬▬▬")
                                                                 ^
SyntaxError: positional argument follows keyword argument

尝试使用

@client.event 
async def on_member_join(member):
    if member.guild.name == "miller's bedroom":
        embed = discord.Embed(description=f"Hey {member.mention}, what's up? Welcome to **{member.guild.name}**! <:m_yo:782996060544827423>", color=0x02acff)
        await client.get_channel(782984495061794857).send(embed=embed)
        roles = discord.utils.get(member.guild.roles,"Member", "▬▬▬ Reaction Roles ▬▬▬", "▬▬▬ Member Roles ▬▬▬")
        await member.add_roles(roles)

当您在传递所有位置参数(您只需根据变量在函数中的位置传递值)之前传递关键字参数(您在其中写入 [variable] = [value] 的参数)时发生此错误定义)。

虽然传递关键字参数的位置并不重要,因为您是在告诉应该将哪个值分配给哪个变量,这在位置参数的情况下是不正确的,因为它们的位置很重要。