Modal
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Modal action blocks allow you to send a form to the interacting user. Modals are especially useful for systems like modmail or ticket system.
To start creating your modal, you can place a modal action block in any builder. Modal blocks can only be placed after an interaction, where a user has interacted with an event of command, such as:
When a command has been run (modal blocks will not work at the start of an event); or
When a trigger (e.g., button or select menu) as been used.
Modal blocks don’t need to be placed directly after an interaction. You can insert other blocks, such as a condition block, in between. However, if you place an action block (for example, a send message block) immediately after an interaction, the modal will not function.
Every modal block comes with access to our Modal Builder. After selecting a modal block, simply press the Modal Builder button to begin creating your form. Within the builder, you can adjust your modal’s settings and preview a live representation of how it will appear in Discord.
For each modal you create, you must enter a title, custom ID and at least one label. As shown in the example above, a modal title will appear at the top of the form, where each label has eight customizable options.
As mentioned, for every modal you must enter a custom ID. Custom IDs are a way to differentiate your current modal against other modals you may have in your builder. This is essential, as you may wish to use a modal variable to refer back to a user's answer.
Modal variables are a variable specific to each modal you create, and they can be used for referring to a user's answer to any field/question. Using the example image above, you can view the modal variable called {modal_he74anu04dc_1}
. If I used that variable in my builder, it will return the answer a user has given for the question.
Field identifiers, similar to custom IDs, differentiate a modal's fields/questions. For example, a modal with multiple questions will need numerous unique field identifiers so that you can refer to a user's answer to one, or more, questions.
In the example above, the field identifiers 1
has been used to represent the question number. With this identifier, I can use {modal_he74anu04dc_1}
to return the user's answer to the field/question.
Fields are your questions; for each field you create, you create a new question. With each field, you will have eight customizable options, allowing you to create intricate questions. However, every question requires you to enter a label, type and field identifier.
Labels are simply the question title, and the field type will distinguish whether you would like a short answer or a long answer. These are all you require to successfully create a modal question! However, the other optional components will let you customize your question a bit more.
These components are entirely optional, and are not required to be filled in when creating a new field.
Placeholder
Text visible before an answer has been given; usually added for guidance.
Minimum Length
Set a minimum number of characters that must be entered.
Maximum Length
Set the maximum amount of characters a user can use in their answer.
Required
Toggle whether the question must be answered or not.
Default Value
Set a default answer for a question. These can be edited by the user.
Placeholders are only visible when a user has not yet entered an answer. These can be used to aid a user into providing an appropriate answer, or to explain the question further.
However, default values are where you would automatically answer the question for the user. These values can be edited, but will be useful for pre-answering a question or starting off an answer.