有没有一种方法可以使用discord.py创建一个命令,允许用户选择一个选项?我已经画了一个例子,如here所示,用户不应该能够键入select /键入其他选项。
我已经尝试过这样做,但不幸的是,这抛出了一个错误:
@tree.command(name="createticket", description="Create a ticket", guild=discord.Object(GUILD_ID))
@app_commands.choices(choices=[
app_commands.Choice(name="Bug", value="bug"),
app_commands.Choice(name="Report", value="report")
# ...
])
async def embed_command(interaction:discord.Interaction, choice:app_commands.Choice[str]):
if interaction.user.guild_permissions.administrator and interaction.user != None:
if choice.value == "bug":
#open ticket code here
elif choice.calue == "report":
# ...
错误:
TypeError: unknown parameter given: choices
- (显示整个错误here)*
2条答案
按热度按时间bqucvtff1#
所以你实际上只是打了个错字:
app_commands.choices
中的参数需要与函数中的参数同名。所以只要替换成mec1mxoz2#
简单地说,请求一个参数并添加一个类型注解。
您可以使用app_commands.Range更进一步。