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

# Discord

> Run your entity as a Discord bot.

## Setup

<Steps>
  <Step title="Create a bot">
    Go to the [Discord Developer Portal](https://discord.com/developers/applications), create an application, and generate a bot token.
  </Step>

  <Step title="Set the token">
    In `.env` at the repo root:

    ```env theme={null}
    DISCORD_TOKEN=your_token_here
    ```
  </Step>

  <Step title="Add the platform">
    In your entity YAML:

    ```yaml theme={null}
    presence:
      platforms:
        - type: "discord"
          token_env: "DISCORD_TOKEN"
          channels: ["general"]
    ```
  </Step>

  <Step title="Invite and run">
    Invite the bot to your server with appropriate permissions, then:

    ```bash theme={null}
    bumblebee run canary --ollama
    ```
  </Step>
</Steps>

## Configuration

```yaml theme={null}
presence:
  platforms:
    - type: "discord"
      token_env: "DISCORD_TOKEN"
      channels: ["general"]               # channels the bot responds in
      # proactive_channel_id: 123456789012345678  # channel for initiative messages
```

The bot responds in configured channels and DMs. It syncs Discord presence with the entity's emotional state.

## Alongside other platforms

You can run Telegram, Discord, and CLI simultaneously. The entity shares memory, body state, and identity across all of them.

```yaml theme={null}
presence:
  platforms:
    - type: "cli"
    - type: "telegram"
      token_env: "TELEGRAM_TOKEN"
    - type: "discord"
      token_env: "DISCORD_TOKEN"
      channels: ["general", "bumblebee"]
```
