Skip to content

String Select

type: 3 Messages Modals

The String Select is a dropdown menu with up to 25 options that you define. Users can pick one or several.

Preview
My BotAPPToday at 12:00 PM

Which games do you like? Pick up to 3.

Pick your games
payload.json
{
"flags": 32768,
"components": [
{
"type": 10,
"content": "**Which games do you like?** Pick up to 3."
},
{
"type": 1,
"components": [
{
"type": 3,
"custom_id": "games",
"placeholder": "Pick your games",
"min_values": 1,
"max_values": 3,
"options": [
{
"label": "Minecraft",
"value": "minecraft",
"description": "Building and adventure",
"emoji": {
"name": "⛏️"
}
},
{
"label": "Fortnite",
"value": "fortnite",
"description": "Battle royale",
"emoji": {
"name": "🔫"
}
},
{
"label": "Rocket League",
"value": "rocket",
"description": "Soccer with cars",
"emoji": {
"name": "🚗"
}
},
{
"label": "Among Us",
"value": "amongus",
"description": "Find the impostor",
"emoji": {
"name": "🕵️"
}
}
]
}
]
}
]
}
Field Type Description
type integer required Always 3.
id integer optional Unique identifier.
custom_id string required What your bot receives. 1-100 characters.
options array of options required 1 to 25 options.
placeholder string optional Text shown when nothing is selected. Max 150 characters.
min_values integer optional Minimum options to pick (0-25). Defaults to 1.
max_values integer optional Maximum options to pick (max 25). Defaults to 1.
required boolean optional Modals only. Whether it’s required. Defaults to true. Ignored in messages.
disabled boolean optional Messages only. Disables the menu. Defaults to false. Errors in modals.
Field Type Description
label string required Visible text. Max 100 characters.
value string required Value your bot receives. Max 100 characters.
description string optional Small text below. Max 100 characters.
emoji partial emoji optional Emoji on the left.
default boolean optional Whether it starts selected.

Use the JSON above. When someone picks, you receive data.values, for example ["minecraft", "rocket"].

Inside a modal, the menu goes inside a Label:

{
"type": 18,
"label": "Your platform",
"component": {
"type": 3,
"custom_id": "platform",
"options": [
{ "label": "PC", "value": "pc" },
{ "label": "Console", "value": "console" },
{ "label": "Mobile", "value": "mobile" }
]
}
}