Python 传递3个参数导致Discord.py语法错误
我目前正在开发一个小型discord机器人,收到以下错误: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
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,它给了他们一个角色