名称相同但值不同的两个选择都会产生相同的值(discord.py)

问题描述 投票:0回答:1
choices = []
choices.append(app_commands.Choice(name="Foo", value=1))
choices.append(app_commands.Choice(name="Foo", value=2))

@bot.tree.command(name="abc", description="123")
@app_commands.choices(myarg=choices)
async def abc(ctx: discord.Interaction, myarg: int):
     assert(myarg==1) # will always be triggered

将出现两个选择,两者具有相同的视觉名称,但两者都会产生一个,或者我假设首先添加的内容。更改一个或两个选项的名称可以解决此问题,但我需要两个具有相同名称的选项。

我期待两个具有相同名称但不同值的选项。

python discord discord.py
1个回答
0
投票

Discord 的界面要求每个选项的名称在给定命令选项中是唯一的,因为它使用该名称向用户显示选项。当您有多个同名选项时,Discord 无法将它们显示为不同的选项,从而导致混乱或意外的命令行为。 因此,除了更改名称之外,没有其他方法可以实现您的要求,例如:

“Foo(选项 1)”和“Foo(选项 2)”或“Foo - 1”和“Foo - 2”

还有其他方法,例如在选项中添加一些不可见的字符,我想这更像是你想要实现的目标。

© www.soinside.com 2019 - 2024. All rights reserved.