> ## 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.

# Message blocks

> Blocks that make your bot talk: replies, messages, layout messages, buttons and menus.

Message blocks make your bot **say something**. Use them to answer a command, post in a channel, or send a message with buttons and menus.

## The blocks

> **Reply**
>
> **What it does:** answers the person with a message. The quickest way to make your bot talk.
>
> **Example:**
>
> ```text theme={null}
> Pong! Hi {user_name}.
> ```

> **Reply with a card**
>
> **What it does:** answers the person with a card-style message instead of plain text.
>
> **Example:** a `/rules` command that answers with your rules in a neat card.

> **Message**
>
> **What it does:** sends or edits a message, with optional **buttons** and **select menus**.
>
> | Setting | What it means |
> | - | - |
> | **Response type** | How the message is sent. In commands it reads **Reply to the command**. After a button or menu block it becomes **Reply to the command or button/menu interaction**. In events, **Reply to the button or menu click** only shows when the message comes after a button or menu block. |
> | **Buttons and menus** | Add buttons or a select menu to the message. See below. |
> | **Images** | Every image box has **Upload image** and **Your uploads**. |
>
> > [!NOTE]
> >
> > Edits start from the original message, so you only change what you need.

> **Layout message**
>
> **What it does:** builds a bigger message with **sections, text, media, buttons and menus**. Discord calls this Components V2.
>
> **How the editor looks:** the parts list on the left, your message in the middle, a settings column, and a live preview on the right. You type text straight into the part in the middle. The right column shows the character count and **Insert a variable**.
>
> | Setting | What it means |
> | - | - |
> | **Response type** | Same choices as the Message block. |
> | **Media Gallery** | Up to **10** pictures at once. |
> | **Buttons and menus** | Each gets its own row by itself, so you can place them anywhere in your message. |
>
> **Example:** a shop message with a picture of each item and a **Buy** button under it.

> **Update buttons or menus**
>
> **What it does:** changes a button or select menu in a message that was already sent. Search `update` in the block list.
>
> **Example:** when a giveaway ends, turn the **Join** button into a greyed out **Closed** button.

## Buttons

Buttons make your bot feel like an app. Add them in a message block's settings. Give each one a **label** (the words on it) and pick a **style**:

| Style | Looks like | Use it for |
| - | - | - |
| **Blue** | The main button | The thing most people should press |
| **Grey** | A quiet button | Less important choices |
| **Green** | A "good" button | Yes, confirm, verify, join |
| **Red** | A "careful" button | Delete, close, leave |
| **Link** | Opens a website | Links. A Link button does not run blocks. |

You can also add an **emoji** with the emoji picker. It has your server's own emojis too, even animated ones.

> [!NOTE]
>
> **Every button runs its own blocks.** Each button gets its own path on the board. Blocks under a button only run when someone presses **that** button. That is how one message can have a **Yes** and a **No** button that do different things.

## Select menus

A **select menu** is a drop-down list. It is good when there are too many choices for buttons, like picking one of 15 roles. Each option gets its own blocks, just like a button. Search `menu` in the block list.

## Answering a button press

**1. Add a message under the button**

Connect a message block to the button's path.

**2. Pick the response type**

Set **Response type** to **Reply to the command or button/menu interaction**. This answers the person who pressed it.

**3. Keep the channel tidy**

Reply **privately** when only they should see it, so the channel does not fill up.

## Pictures in messages

| Rule | Limit |
| - | - |
| File types | PNG, JPG, GIF or WebP |
| Size | Up to 8 MB each |
| Media Gallery | Up to 10 at once |

Uploads count toward your bot's storage.

> [!TIP]
>
> Want a picture made just for this member, like a welcome card? Add **Make an image card** first, then put `{card}` in a later message. See [Send cards from your bot](/card-studio/send-cards-from-your-bot).

## See it in a real system

> **[Role buttons](/build-real-systems/role-buttons)**
>
> Buttons that give roles.

> **[Support tickets](/build-real-systems/support-tickets)**
>
> A button that opens a ticket.

> **[Verify new members](/build-real-systems/verify-new-members)**
>
> A verify button for new people.

> **[Message Builder](/message-builder)**
>
> Design messages on their own page.


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