WhisperChat for Discord

Discord channel

Your chatbot, answering inside Discord

Connect a Discord application to a WhisperChat chatbot and your members can ask it anything with a slash command. Answers come from the same knowledge base as your website widget, arrive with their sources, and are logged in your dashboard — no gateway bot to host and nothing to keep running.

Before you start
  • A WhisperChat chatbot that has been trained at least once — Discord answers come from the same knowledge base as your website widget.
  • A Discord account, plus the Manage Server permission on the server you want the bot in.
  • Nothing to install or host. WhisperChat receives Discord's interactions directly.

Set it up in seven steps

Everything below happens in two places: the Discord Developer Portal and your chatbot's Deploy page in WhisperChat.

  1. 1

    Create a Discord application

    Open the Discord Developer Portal and choose New Application. The name and avatar you give it here are what your members will see when it answers.

    Discord Developer Portal
  2. 2

    Copy the bot token

    Open the Bot tab and press Reset Token, then copy the token. Discord shows it exactly once — if you lose it, reset it again and re-connect in WhisperChat.

  3. 3

    Copy the public key

    On General Information, copy the Public Key. WhisperChat uses it to verify the Ed25519 signature Discord puts on every request, so a forged interaction can never reach your chatbot.

  4. 4

    Connect it in WhisperChat

    In your dashboard, open the chatbot, go to Deploy and press Connect on the Discord card. Paste the bot token and public key, pick the slash command name (the default is /ask) and press Connect Discord. WhisperChat validates the token against Discord's API and registers the slash command for you.

  5. 5

    Register the Interactions Endpoint URL

    Still in the Discord dialog, copy the Interactions Endpoint URL and paste it into the Developer Portal under General Information → Interactions Endpoint URL, then save. Discord immediately posts a signed test request, so saving only succeeds once everything is wired up correctly.

    Interactions Endpoint URL (yours is shown in the dialog)
    https://www.whisperchat.ai/discord/interactions/<id>?secret=<secret>

    The URL contains a secret that authorises requests to your chatbot — treat it like a password.

  6. 6

    Invite the bot to your server

    Press Invite to server and pick the server. The invite asks for two permissions only — Send Messages and Read Message History — plus the slash-command scope.

    Requested permissions bitfield
    67584  // Send Messages (2048) + Read Message History (65536)
  7. 7

    Ask it something

    Type your command in any channel the bot can see — for example /ask What are your pricing plans? Discord shows “App is thinking…” while the answer is generated, then replaces it with the reply.

What your members get

A connected Discord channel behaves like every other WhisperChat surface — same answers, same history, same limits.

One knowledge base

Discord answers run through the same retrieval pipeline as your website widget. Train once; every channel stays in sync.

Threaded per channel

Each Discord channel gets its own conversation, so follow-up questions keep their context exactly like a browser conversation does.

Cited sources

When the answer came from crawled pages, up to three source links are appended to the reply.

Visible in your dashboard

Every question is logged as chat history with Discord as its source, so History, Insights and Leads include Discord traffic.

Works in DMs

The command is registered globally, so it also works in a direct message with the bot — once you share a server with it.

Restrict by server

Leave the allowed-server list empty to answer anywhere the bot is added, or list specific server IDs to lock it down.

Try asking: “/ask What is your refund policy?”. Discord shows App is thinking… for a moment, then replaces it with the answer and the pages it came from.

How it works

Useful if you are reviewing the integration before enabling it, or working out why something behaved the way it did.

Every request is verified twice

  • The endpoint URL carries a per-chatbot secret; a request without it is rejected with a 403 before anything else happens.
  • Discord signs each interaction with Ed25519. WhisperChat verifies that signature against your app's public key and answers 401 if it does not match.

Answers arrive as a follow-up

  • Discord requires an acknowledgement within 3 seconds — far less than retrieval and generation take.
  • WhisperChat immediately replies “deferred”, which is the “App is thinking…” state, then posts the real answer as a follow-up using the interaction token.

A retry never answers twice

  • If an acknowledgement is missed, Discord re-delivers the same interaction.
  • Each interaction ID is claimed in an idempotency log, so a redelivery is acknowledged but never generates — or bills for — a second answer.

Replies fit Discord's limits

  • Discord caps a message at 2,000 characters. Answers are rendered as Discord-flavoured markdown and trimmed to fit, with the source links reserved out of that budget.

Messages and billing

  • Each answered question costs one message from your plan, exactly like a widget conversation, with the same multiplier for premium models.
  • When your subscription credits run out, a small daily grace allowance applies before the bot starts declining questions.
  • A member's Discord handle is stored as the conversation's display name only. It is an identity, not contact details someone submitted, so it does not turn the conversation into a lead.

Credentials and privacy

Two secrets are involved — your bot token and your endpoint URL. Here is how each is handled.

What we store, and what you control

  • Your bot token is stored server-side and is never sent back to the browser — the dialog shows a masked placeholder instead, and leaving the field empty keeps the saved credentials.
  • The Interactions Endpoint URL contains a secret. Anyone holding it can reach your chatbot's endpoint, so keep it out of screenshots and shared documents.
  • Disconnecting deletes the registered slash command from your Discord application and clears the stored token. The bot stays in your servers until you remove it there, but it stops responding.

Discord Questions

STOP ANSWERING REPETITIVE QUESTIONS MANUALLY.

Let WhisperChat handle common support instantly — while you stay in control.

START FREE
WHISPERCHAT AI
Trusted by growing 700+ businesses to reduce support workload without hiring
© 2026 WHISPERCHAT AIBACK TO TOP