Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 传递3个参数导致Discord.py语法错误_Python_Python 3.x_Discord_Discord.py - Fatal编程技术网

Python 传递3个参数导致Discord.py语法错误

Python 传递3个参数导致Discord.py语法错误,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,我目前正在开发一个小型discord机器人,收到以下错误: async def redeemkey(ctx, *, member, *, key): ^ Syntax Error: invalid syntax 这是我的密码: @client.command() async def redeemkey(ctx, *, member, *, key): if key[keys] == True: ro

我目前正在开发一个小型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)
我试着在争论中把事情调大,但似乎做不好


任何帮助都将不胜感激

因为如果成员提供了正确的密钥,您希望为他们提供一个角色,所以您的函数中不需要
*
。我们可以从中获取成员,并从命令中获取
key

您可以使用
ctx.guild.roles
,而不是使用
member.server.roles
。服务器已在
discord.py的中更改为guild

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

@client.command()
async def redeemkey(ctx, key):
    if key in keys:
        role = discord.utils.get(ctx.guild.roles, name='authenticated')
        await client.add_roles(ctx.author, role)

在所有位置参数的末尾,您只能有一个
*
。所以删除第一个?这取决于您想做什么。我有一个键字典,如果用户用类似的东西兑换一个键!reedeemkey 1895hjfjh57v5,它给了他们一个角色