如何在discord-py-斜线命令下拉列表中为项目创建自定义ID ?



我使用一个名为discord-py-斜杠-command的库将斜杠命令和下拉菜单实现到我的discord bot中,编码在discord.py.

问题:

我的问题是我无法为不同的项目分配自定义id,因此我无法识别所选的项目。使用单独的bot事件将不适合我。

我的代码:

我已经成功创建了一个基本的下拉菜单,代码如下:
select = create_select(
options=[
create_select_option("Option 1", value="Option 1", emoji="1️⃣"),
create_select_option("Option 2", value="Option 2", emoji="2️⃣"),
create_select_option("Option 3", value="Option 3", emoji="3️⃣"),
],
placeholder="Choose an option or two", 
min_values=1,
max_values=2, 
)
await user.send("Select options here", components=[create_actionrow(select)])

然后使用以下代码等待选定的项目,然后发送结果:

select_ctx: ComponentContext = await wait_for_component(client, components=create_actionrow(select))
await select_ctx.edit_origin(content=f"You chose an option!")

我希望能够分配自定义ID在顶部代码块的每个选择选项,因为为您生成的随机ID很长,难以记忆,如:

7816e661-7751-4e1b-8ab0-24b00a0537cc

我试过了:

我尝试将custom_idid参数添加到select中的每个选择选项。当我这样做时,我收到以下错误:

TypeError: create_select_option() got an unexpected keyword argument 'custom_id'

分配自定义ID仅适用于按钮还是我在错误的地方分配ID ?我很感激任何答案或反馈。谢谢!

下拉列表有一个custom_id。你把它正好放在minmax值之后。


Select = create_select(options = [
create_select_option("Option 1", value="Option 1", emoji="1️⃣"),
create_select_option("Option 1", value="Option 1", emoji="1️⃣"),
create_select_option("Option 1", value="Option 1", emoji="1️⃣"),
],
placeholder="Choose a help category",
min_values=1,
max_values=1,
custom_id="helpuwu",    
)

最新更新