Forms
The Form Management page allows you to create and manage forms for your server. Forms can be used for various purposes, such as collecting information before creating a ticket or gathering feedback from users.
Form Options
Section titled “Form Options”A form has the following configurable options:
| Option | Description | Default | Notes |
|---|---|---|---|
| Title | The title of the form. | - | Max. Length: 100 characters |
| Fields | The components of the form. | - | Must contain at least one component. Max. 5 |
Form Component Field
Section titled “Form Component Field”Each component field within a form has the following configurable options:
| Option | Description | Notes | Available For |
|---|---|---|---|
| Type | The type of the component. | - | All |
| Label | The label of the component. | Max. Length: 45 characters | All |
| Custom ID | The unique identifier for the field. | Max. Length: 100 characters | All, but Text Display |
| Description | The description of the component. | Max. Length: 100 characters | All, but Text Display |
| Required | Whether the component is required. | Default: False | All, but Text Display |
| Placeholder | The placeholder text. | Max. Length: 100 characters | All, but Text Display |
| Content | The content of the component. | Max. Length: 4000 characters | Text Display |
| Min Length | The minimum length of input. | Min: 0, Max: 4000 | Text Input |
| Max Length | The maximum length of input. | Min: 1, Max: 4000 | Text Input |
| Default Value | The default value. | Length must be in between the Min/Max | Text Input |
| Options | The options for the component. | Min: 1, Max: 25 | String Select Menu |
| Min Values | The minimum number of selections. | Min: 0, Max: 25 | All Select Menus |
| Max Values | The maximum number of selections. | Min: 1, Max: 25 | All Select Menus |
Form Component Types
Section titled “Form Component Types”| Component Type | Description | Notes |
|---|---|---|
| Text Display | A non-interactive text display. | Used for instructions or information. |
| Text Input | A text input field. | Can be single-line or multi-line. |
| String Select Menu | A dropdown select menu. | Allows selection of one option. |
| User Select Menu | A user select menu. | Allows selection of one or more users. |
| Role Select Menu | A role select menu. | Allows selection of one or more roles. |
| Channel Select Menu | A channel select menu. | Allows selection of one or more channels. |
| Mentionable Select | A mentionable select menu. | Allows selection of one or more mentionables (users or roles). |
| File Upload | A file upload field. | Allows users to upload files. |
Checkbox Workaround
Section titled “Checkbox Workaround”Currently, there is no dedicated checkbox component. However, you can simulate a checkbox using a String Select Menu with two options: “Yes” and “No”. This allows users to select either option, effectively functioning as a checkbox.
File Uploads
Section titled “File Uploads”When using the File Upload component, please note the following limitations:
- Maximum file size corresponds to the server’s upload limit or the upload limit of the user if they have Nitro.
- Supported file types are determined by Discord and may change over time.
File Upload Message Label
Section titled “File Upload Message Label”When configuring a File Upload component, you can set a custom label for the upload field in the form. However the Message Label is something different.
When the ticket is created, the bot will create a public thread on the starter message to store the uploaded files. This is the best and most user friendly way to handle upload limitations and ensure the context for every uploaded file is clear.
Example:
Section titled “Example:”The server doesn’t have Boost level 2, so the upload limit is 10MB. The user filling out the form has Nitro, so their upload limit is 500MB.
The form has two upload fields with the following configurations:
- Field 1:
- Label: “Upload your Avatar”
- Message Label: “Avatar”
- Field 2:
- Label: “Proof of being a fruit”
- Message Label: “Fruits”
- Max Files: 3
The user uploads the following files:
- Field 1:
avatar.png(3MB) - Field 2:
apple.png(9MB),peach.png(5MB),all_fruits.mp4(120MB)
The bot will create the following messages in the thread:
Message 1:
-
Content: “Avatar”
-
Attachments:
avatar.pngThe avatar file is uploaded successfully since it is within the size limit.
Message 2:
-
Content: “Fruits”
-
Attachments:
apple.png(9MB)The first apple file is uploaded successfully, because it is within the size limit.
Message 3:
-
Content: “Fruits” + link to
all_fruits.mp4 -
Attachments:
peach.pngThe second apple file is uploaded successfully, because it is within the size limit. The third file
all_fruits.mp4exceeds the size limit and is therefore not uploaded, however it is added to the content as a link so the upload can still be accessed.
See? Every form field gets its own message with a clear label and context! If the uploads exceed the size limit of the message, The bot will automatically group attachments together so they fit within the limit, while still keeping the context clear with the message label. Note, that because the bot iterates over the files in order, the order of files in the messages may seem a bit random if some files exceed the size limit.