[传递3个参数的Discord.py语法错误

问题描述 投票:0回答:1

我目前正在使用小型Discord机器人,但收到以下错误:

async def redeemkey(ctx, *, member, *, key):
                                    ^
Syntax Error: invalid syntax

这是我的代码:

@client.command()
async def redeemkey(ctx, *, member, *, key):
    if key[keys] == True:
        role = discord.utils.get(member.server.roles, name='authenticated')
        await client.add_roles(member, role)

我已经尝试过切换参数,但似乎无法正确处理。

任何帮助将不胜感激!

python python-3.x discord discord.py
1个回答
1
投票
由于如果成员要提供正确的密钥,则要为其赋予角色,因此您在功能中不需要*。我们可以从ctx.author抓取成员,然后从命令中获取ctx.author

代替使用key,可以使用member.server.roles。服务器已在ctx.guild.rolesv1.0中更改为公会。

如果discord.py是您的字典,则应使用keys,而不要使用keys[key]

key[keys]


推荐问答