> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dogebot.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Command input blocks

> Inputs are the extra boxes a person fills in when they use a slash command.

**Inputs** are the extra boxes a person fills in when they use a **slash command**. For example, `/give` could ask **who** and **how many**.

> [!WARNING]
>
> Inputs only work in **slash commands**. Events and right-click (context) commands do not have them.

## Quick look

| Input | What the person does | Example |
| - | - | - |
| **Text** | Types any text | A reason for a warning |
| **Number** | Types a number | How many coins to give |
| **User** | Picks a member of the server | Who to give coins to |
| **Channel** | Picks a channel | Where to post an announcement |
| **Role** | Picks a role | Which role to give |
| **Choice** | Picks **True** or **False** | "Send it secretly?" |
| **Attachment** | Adds a file or picture | A screenshot for a bug report |

## The Inputs

> **Text**
>
> **What it does:** a text option. The person types any text.
>
> **Example:** `/warn` asks for a **reason**.

> **Number**
>
> **What it does:** a number option. The person types a number.
>
> **Example:** `/give` asks **how many** coins.

> **User**
>
> **What it does:** the person selects a member from the server.
>
> **Example:** `/give` asks **who** gets the coins.

> **Channel**
>
> **What it does:** the person selects a channel from the server.
>
> **Example:** `/announce` asks **where** to post.

> **Role**
>
> **What it does:** the person selects a role from the server.
>
> **Example:** `/role-give` asks **which role** to give.

> **Choice**
>
> **What it does:** a True or False option.
>
> **Example:** "Send it secretly?" True or False.

> **Attachment**
>
> **What it does:** the person adds a file or picture.
>
> **Example:** `/bug-report` asks for a screenshot.

## How to add one

**1. Open your slash command**

Open your slash command in the builder.

**2. Open the Inputs tab**

In the block list, open the **Inputs** tab.

**3. Drag it in**

Drag the Input you want onto the board and connect it under the first block.

**4. Name it**

Press it and give it a **name** (small letters, no spaces) and a **description**. People see the description in Discord.

**5. Required or optional**

Choose if the person **must** fill it in, or if it is optional.

## Using what the person filled in

Every Input gives you a value you can use in later blocks. Press the `{ }` **Variables** button next to any text box and pick it from the list. You can use it in messages, in **Compare** checks and in **Do the maths**.

> **Example**
>
> `/give` with a **User** input and a **Number** input. A **Do the maths** block adds the number to the picked member's coins, then a **Reply** says how many they got.

> **[Commands and inputs](/building-with-blocks/commands-and-inputs)**
>
> The full guide to slash commands.

> **[Daily coins](/build-real-systems/daily-coins)**
>
> A full system you can copy.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.