Skip to content
CreateDiscordBot
Menu

Discord AI support bot that answers from your own docs

A Discord bot that answers member questions from your own docs, FAQ and changelog, links the source for every answer, and opens a ticket for your staff when it isn't sure. You own the bot and the API key.

Usually
Community bot, from $1,490
Timeline
2 to 4 weeks
You get
Source code and your own bot token

Example commands

  • /ask question:How do refunds work?

    Answers from your docs with numbered source links, or passes the question to staff when it can't find a good match.

  • Apps › Answer from docs

    Staff right-click a member's message and get a draft answer with sources to post or edit.

  • /kb sync

    Re-reads your docs, FAQ and changelog and updates the index. It also runs every night on its own.

  • /kb gaps days:7

    Lists the questions the bot had to hand off, grouped, so you know which docs to write next.

  • /ai usage

    Shows answers, handoffs and model spend this month against the budget you set.

  • /ai pause channel:#help

    Stops AI answers in a channel at once. Questions go straight to tickets until you resume.

Connects to

  • OpenAI API
  • Anthropic API
  • Your docs site
  • Notion
  • GitHub releases
  • Your ticket bot

A Discord AI support bot answers your members' questions inside your server, using your own documentation: help center, FAQ, changelog and policy pages. The version I build searches those sources for each question, writes a short answer with numbered links to the pages it used, and when it can't find a good match it says so and opens a ticket for your staff instead of guessing.

It usually lands in the Community tier, from $1,490, and takes 2 to 4 weeks. Model usage is billed to your own OpenAI or Anthropic account, which at September 2026 list prices comes to roughly $0.55 to $22 per 1,000 answers depending on the model (worked out below). If what you want is an AI bot for your Discord server that chats about anything, this page isn't that, and a no-code tool will get you there faster. If you run a personal AI agent, my guides show how to connect OpenClaw to Discord and connect Hermes Agent to Discord.

What the Discord AI support bot does

A member types /ask how do refunds work? or posts in your help forum. The bot pulls the three to five passages from your docs that best match the question and replies with a short answer and links such as "[1] Refund policy". Under the answer are two buttons: "That solved it" and "Talk to a person".

If the best matches are weak, the bot says it couldn't find this in the docs and opens a ticket with the question and the passages it found, so staff start with context. It doesn't guess.

For admins, the bot re-reads your sources every night, logs every question and answer, and sends a weekly list of questions it had to hand off: a to-do list for your docs.

People call this "training the bot on your docs", but nothing is trained. Your docs are split into passages, indexed, and handed to an unchanged model with each question. So a docs update is live after the next sync, and you can always see which page an answer came from.

Slash command, mention or help channel

How members reach the bot decides what it needs from Discord. Reading ordinary messages requires the privileged Message Content intent. Slash commands, messages that mention the bot, DMs and message context menu commands don't.

Trigger Message Content intent Good for Trade-off
/ask slash command Not needed Private answers only the asker sees, clear intent Members have to know the command exists
@mention the bot Not needed Natural, works in any channel you allow Answers are public
Auto-answer in a help forum or channel Required Every new post gets a first answer without anyone asking Must be scoped tightly to that channel
Right-click a message, Apps, "Answer from docs" Not needed Staff drafting replies for members Staff-driven, not self-serve

For a bot that runs only in your server, Message Content is a switch in the Developer Portal. Since June 2026, Discord reviews that access only once more than 10,000 unique users can see the app. I usually suggest /ask plus auto-answer in one help forum, where each post is its own thread and follow-ups keep their context.

Guardrails that make it safe to leave running

  • Confidence threshold. Each answer gets a score from the search step plus the model's own check that the passages actually answer the question. Below the threshold, the bot hands off. We tune it together on real questions from your members.
  • Handoff into your ticket flow. Low scores, "Talk to a person" clicks and anything about billing disputes or account security go to staff. If you already run a ticket bot, the AI sits in front of it. If not, I build the ticket side too.
  • Rate limits and quotas. A per-user cooldown and daily cap stop one person from flooding a channel or running up your bill. A monthly spend cap switches the bot to handoff-only when the budget is used.
  • Output checks. Replies go out with mentions disabled, so no answer can ping @everyone. Links are allowed only to your own domains, and answers can pass a moderation check first; OpenAI lists its moderation model as free as of September 2026.
  • Channel scoping. The bot answers only in channels you choose, and admins can limit each command by role and channel under Server Settings, Integrations.
  • Nothing to abuse. Members will try "ignore your instructions". The bot can read your docs and post replies, nothing more, and every attempt shows up in the log.

What it costs to run

There are two bills: the build and upkeep from me, and model usage on your own API account, where you see every cent.

Model cost depends on text in and out: in my design a typical answer sends about 3,500 input tokens (instructions, five doc passages, the question) and gets about 400 back. At list prices as of September 2026:

Model Input / output per 1M tokens Per answer Per 1,000 answers
OpenAI gpt-6-luna $0.10 / $0.50 $0.00055 about $0.55
Anthropic Claude Haiku 4.5 $1 / $5 $0.0055 about $5.50
OpenAI gpt-6-sol $2 / $10 $0.011 about $11
Anthropic Claude Sonnet 5 $2 / $10 $0.011 about $11
Anthropic Claude Opus 5.5 $4 / $20 $0.022 about $22

Indexing is close to free: OpenAI's text-embedding-3-small costs $0.02 per million tokens, so embedding a large help center costs cents. Models that reason before answering bill those hidden tokens as output, so I keep reasoning effort low, and caching the fixed instructions lowers the input price on repeat requests.

Hosting runs on a Care plan at $49 a month. The search index lives in the bot's own database, so there is no separate vector-database bill.

Free bot, SaaS or custom?

Several products already put an AI answer bot in Discord (prices as of September 2026):

Option Price What you get
Mava Free (30 requests a month), Founder $39 (100), Growth $99 (500), Scale $199 (2,000), Enterprise $599 (10,000), monthly billing Support inbox for Discord, Telegram, web chat, email and Slack. A request is one ticket or one public AI answer; over the limit, the public AI bot stops
Quickchat AI Free for non-commercial use (50 AI credits); commercial plans $9 to $999 a month (150 to 30,000 credits); a reply uses 1 to 4 credits depending on the model A no-code bot that answers when mentioned, in channels, threads and DMs; Discord is on every plan
kapa.ai 14-day free trial, then quote only Answers over technical docs, with Discord among its pre-built integrations
Custom, built by me Community tier from $1,490, plus model usage and Care Your bot, your code and your API key, connected to your own systems

SaaS is the better buy if you get fewer than a few hundred questions a month, want Discord, email and web chat in one inbox, or have nobody to own a codebase. Mava's free and $39 plans are hard to beat at low volume, and Quickchat needs no code.

Custom makes sense when:

  • answers depend on your systems, like a member's plan or order status, which the bot looks up through your API (a Discord bot for business can also keep plan roles in sync);
  • you want to choose which provider sees your members' questions, under your own agreement with it;
  • you already run a ticket bot and want the AI in front of it rather than a second inbox;
  • volume is high. At 2,000 answers a month Mava Scale is $199, while Claude Sonnet 5 costs about $22 for the same volume plus $49 for Care. The build pays for itself in roughly a year, if you don't need Mava's inbox features.

What it costs to build

Most AI support bots land in the Community tier, from $1,490: the answer engine, handoff into tickets, admin commands with logging, and one integration, usually your docs source. A bare /ask over one docs site that hands off to a staff channel fits Starter, from $590. Several synced sources, account-aware answers or a web dashboard push it to Platform, from $3,500. See the pricing page, or the cost guide for how that compares with the market.

How the build works

  1. Blueprint. We pick the sources and about 50 real questions your members ask, and agree on what "good enough to go live" means. The Bot Blueprint costs $249, credited to the build within 30 days.
  2. Test run. I index your docs and run the bot in a private test server. You grade its answers to the question set, and we tune the threshold until it hands off instead of guessing.
  3. Launch. The bot goes live on your own Discord application with your own model API key, in the channels you chose.
  4. Care. Nightly syncs, library updates and the weekly handoff report keep it useful. See Care plans.

About my track record: I've built the Discord side of support systems, including a ticket bot with control rooms and HTML transcripts for an esports tournament organizer, but I don't have an AI support bot case study to show you yet. That is why the test run on your questions comes before launch, and why you grade it, not me.

Technical notes

What goes to the model provider. The question, the passages retrieved for it and, inside a thread, the last few turns. No usernames or user IDs. As of September 2026, OpenAI says API data is not used for training unless you opt in and keeps abuse-monitoring logs for up to 30 days. Anthropic deletes API inputs and outputs within 30 days by default, with exceptions such as content flagged for policy violations.

Discord's rules. Discord's Developer Terms let you share member data with a service provider only after it agrees in writing to use it just for you, and require a privacy policy saying what you share and how members can ask for deletion. The Developer Policy forbids using message content to train AI models without Discord's permission, so chat history never goes into the knowledge base. The question log stays in your own database.

The Discord side in code. This is the /ask handler, trimmed. answerFromDocs stands in for the retrieval and model call, so treat that line as illustrative. The rest was tested with discord.js 14.27.0 on Node 24, including the private flag, the handoff and the 2,000-character limit. Guilds is the only intent it needs.

commands/ask.js
const { SlashCommandBuilder, MessageFlags } = require('discord.js');
const { answerFromDocs } = require('../lib/answer');

const MIN_SCORE = Number(process.env.MIN_SCORE ?? 0.75);
const NO_PINGS = { parse: [] }; // model output can never ping @everyone, roles or users

module.exports = {
  data: new SlashCommandBuilder()
    .setName('ask')
    .setDescription('Ask a question. The answer comes from our docs, with sources.')
    .addStringOption((o) =>
      o.setName('question').setDescription('What do you want to know?').setRequired(true).setMaxLength(300),
    )
    .addBooleanOption((o) => o.setName('private').setDescription('Only you see the answer')),

  async execute(interaction) {
    const hidden = interaction.options.getBoolean('private') ?? false;
    // Retrieval plus a model call takes longer than Discord's 3-second window, so defer first.
    await interaction.deferReply(hidden ? { flags: MessageFlags.Ephemeral } : {});

    const question = interaction.options.getString('question', true);
    const result = await answerFromDocs(question); // { text, score, sources: [{ title, url }] }
    const sources = result.sources.slice(0, 3);

    if (result.score < MIN_SCORE || sources.length === 0) {
      // Not confident: hand off to people instead of guessing.
      const staff = await interaction.client.channels.fetch(process.env.STAFF_CHANNEL_ID);
      await staff.send({
        content: `Unanswered question from <@${interaction.user.id}>:\n> ${question}`,
        allowedMentions: NO_PINGS,
      });
      return interaction.editReply({
        content: "I couldn't find this in the docs, so I've passed it to the team.",
        allowedMentions: NO_PINGS,
      });
    }

    const cites = sources.map((s, i) => `[${i + 1}] ${s.title}: <${s.url}>`).join('\n');
    const room = 2000 - cites.length - 2; // Discord's message limit is 2,000 characters
    return interaction.editReply({
      content: `${result.text.slice(0, room)}\n\n${cites}`,
      allowedMentions: NO_PINGS,
    });
  },
};

In the full bot the handoff opens a ticket and the answer carries the two buttons. If your support queue keeps asking what your docs already say, send me a short brief and I'll reply with questions or a fixed quote.

Common questions

How do I make an AI chatbot for Discord?

Create an application and bot user in the Discord Developer Portal, pick a model provider, index your docs so each question can be matched to the right passages, and write a command that sends the question plus those passages to the model. The hard part is deciding when it should not answer. If you'd rather skip the build, a no-code tool such as Quickchat or a custom build are the two shortcuts.

Will the bot make things up?

Any language model can. This bot is told to answer only from the passages it retrieved, has to cite them, and hands off when the match is weak or it cites nothing. The test run on your real questions before launch shows how often it still slips, and every answer is logged so you can check.

Does it learn from our Discord chats?

No. Discord's Developer Policy forbids using message content to train AI models without Discord's permission, so the bot answers only from your docs. When a staff reply deserves reuse, a staff member saves it as an FAQ entry by hand.

Which AI model will you use?

The one that does best on your own question set at a cost you accept. I usually test a small, cheap model against a mid-size one, and the bot is written so you can switch provider later without a rebuild.

Sources

Prices and features were checked on September 27, 2026.

  1. Mava, pricing and support request definition (checked September 2026)
  2. Quickchat AI, pricing and AI credits (checked September 2026)
  3. Quickchat AI, AI chatbot for Discord
  4. kapa.ai, pricing and plans
  5. OpenAI, API pricing (standard tier, checked September 2026)
  6. OpenAI, reasoning models (reasoning tokens billed as output)
  7. OpenAI, data controls in the API platform
  8. Anthropic, Claude pricing (checked September 2026)
  9. Anthropic Privacy Center, how long API data is stored
  10. Discord Developer Docs, Gateway: Message Content intent
  11. Discord Developer Docs, receiving and responding to interactions
  12. Discord Developer Docs, privileged intent review (user-based threshold since June 10, 2026)
  13. Discord Developer Docs, application command permissions and message commands
  14. Discord Developer Docs, message limits and allowed mentions
  15. Discord Developer Policy (effective July 8, 2024)
  16. Discord Developer Terms of Service (effective July 8, 2024)

Tell me what your bot needs to do

Send a short brief. You get a reply within one business day with questions or a price range, and a fixed quote before any work starts.

Last updated 2026-09-27 by Adam Peleback.