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

# Repeat and wait blocks

> Repeat blocks, stop repeating, pause, and show that the bot is typing.

These blocks control **time and repeats**: run some blocks again and again, stop early, wait a moment, or show that your bot is typing.

## The blocks

> **Repeat (loop)**
>
> **What it does:** runs the blocks inside it again and again, a set number of times. Search `repeat` in the block list.
>
> | Setting | What it means |
> | - | - |
> | **How many times** | How many times the blocks inside run |
>
> **Example:** a countdown that says 3, 2, 1, Go! with a **Pause** between each.

> **Stop repeating**
>
> **What it does:** stops any loop that is running, right away.
>
> **Example:** inside a repeat, a **Compare** check finds what you were looking for. On its yes path, add **Stop repeating**.

> **Pause**
>
> **What it does:** waits before the next block runs.
>
> **Example:** say "Closing this ticket...", **Pause**, then delete the channel. People get a moment to read.

> **Show typing**
>
> **What it does:** makes the "bot is typing..." text appear in the channel for a few seconds, so a slow answer feels natural. Search `typing` in the block list.

## How to make a loop

**1. Add the repeat block**

Search `repeat` and add it. Choose **how many times**.

**2. Put blocks inside**

Put the blocks you want repeated inside it.

**3. Stop early if you need to**

Add **Stop repeating** after a check, if you want the loop to end before it reaches the count.

> [!WARNING]
>
> Keep loops small. Discord does not like bots that send lots of messages very fast.

## Example: a countdown

Someone types `/countdown`. The bot shows:

```text theme={null}
3
2
1
Go!
```

A repeat block runs 3 times. Inside it: a message and a **Pause**. After the loop, one more message says **Go!**

> [!TIP]
>
> Need something to happen every hour or every day instead? That is a timed event, not a loop. See [Timed events list](/event-triggers/timed-events-list).

> **[Repeats and waiting](/building-with-blocks/repeats-and-waiting)**
>
> The full guide.

> **[Block library](/block-library)**
>
> Back to all blocks.


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