Discord

A second provider next to Telegram, or on its own. Same tools, same access model, native buttons.

Setup

  1. Create an application at discord.com/developers/applications, then add a Bot under it.

  2. On the Bot page, enable the Message Content Intent under Privileged Gateway Intents. Without it the bot receives empty message bodies.

  3. Copy the bot token into the shared .env:

    # ~/.claude/channels/tele-go/.env
    DISCORD_BOT_TOKEN=your-bot-token
    DISCORD_BOT_TOKEN_WORK=…              # discord:work, if you run named instances
  4. Invite the bot with an OAuth2 URL using the bot scope. For DMs no extra permissions are needed. For guild channels grant Send Messages, Read Message History, Add Reactions, and Attach Files:

    https://discord.com/oauth2/authorize?client_id=<APP_ID>&scope=bot&permissions=100416
  5. Enable the provider and run:

    HOTLINE_PROVIDERS=telegram,discord hotline

    In a Claude Code setup, HOTLINE_PROVIDERS belongs in the env block of your .mcp.json; see Multiple providers.

  6. DM the bot. It replies with a pairing code; approve it from your terminal:

    hotline pair <code> --provider discord

--provider discord points pair/deny/status at the Discord state (<stateDir>/discord/); named instances use --provider discord:work with state under <stateDir>/discord/instances/work/.

Behavior notes

next: Multiple providers →