Discord.py“位置参数跟随关键字参数”错误

2024-06-01 01:57:53 发布

您现在位置:Python中文网/ 问答频道 /正文

这一行代码给我带来了问题

message = await message.edit(embed = amountEmbed, components=[Select(placeholder="Select the amount to purchase", options=[SelectOption(label="1 dino toy (50)", value=1)], [SelectOption(label="2 dino toys (100)", value=2)], [SelectOption(label="5 dino toys (250)", value=5)])])

然后返回这个错误

SyntaxError: positional argument follows keyword argument

我似乎找不到具体的答案。这表明问题出在第二个右括号上。我觉得这是一个简单的错误,但我似乎找不到它


Tags: 代码messagevalue错误componentsembedawaitargument
1条回答
网友
1楼 · 发布于 2024-06-01 01:57:53

这就是为什么将长线拆分为多行会有帮助的原因之一。让我们看看你的台词实际上是怎么说的:

message.edit(
    embed = amountEmbed, 
    components=[
        Select(
            placeholder="Select the amount to purchase", 
            options=[
                SelectOption(label="1 dino toy (50)", value=1)
            ], 
            [SelectOption(label="2 dino toys (100)", value=2)],
            [SelectOption(label="5 dino toys (250)", value=5)]
        )
    ]
)

您可以看到Select是用参数placeholder=...options=[...]调用的,然后是两个未命名的(位置)参数

不熟悉discord.py,但我猜您希望您的SelectOption都在一个列表中,如

options=[
    SelectOption(label="1 dino toy (50)", value=1), 
    SelectOption(label="2 dino toys (100)", value=2),
    SelectOption(label="5 dino toys (250)", value=5)
]

相关问题 更多 >