Guides
Custom bot

Custom bot setup guide

Run ServerMate through your own Discord application — your bot's name, avatar, and presence — while ServerMate handles moderation, alerts, AI, and automations behind the scenes.

Requires: Pro plan (Solo or above) on the server · Feature Centre → Bot Customisation enabled


When you need a custom bot

Branding (optional but common)

Members see your bot in the member list and message headers instead of the shared ServerMate bot.

Message Content intent (required for these features)

Discord restricts reading message text unless your own bot application has Message Content Intent enabled in the Developer Portal and is connected through ServerMate.

FeatureWhy custom bot + Message Content
AI Summarisation (/summarise)Must read channel message text to build summaries
Custom commands (dot prefix, e.g. .rules)Commands are triggered by reading messageCreate events — not available without Message Content
Message delete logging (moderation)Full deleted-message content in mod logs (metadata-only without it)

Does not require Message Content: slash commands (/ban, /poll, …), embeds sent by the bot, creator alerts, tickets opened via /create-ticket, sticky messages, and custom commands that use / as the prefix (registered as slash commands).

If Message Content is off, the dashboard shows Connected — enable Message Content in Developer Portal until you fix it.


Overview

Discord Developer Portal          ServerMate dashboard              Your server
─────────────────────────         ─────────────────────           ───────────
Create application        →       Save token + App ID      →      Invite your bot
Enable intents            →       Validate → Connect       →      Slash commands sync

Part 1 — Discord Developer Portal

1. Create or open an application

  1. Go to Discord Developer Portal → Applications (opens in a new tab)
  2. Click New Application, choose a name (this can match your community brand), and create it
  3. Open the application you will use for this server

2. Create a bot user

  1. In the left sidebar, open Bot
  2. Click Reset Token (or View Token if first time) and copy the bot token — store it securely; you will paste it into ServerMate once
  3. Under Privileged Gateway Intents, enable:
    • Message Content Intentrequired for /summarise, dot-prefix custom commands, and full delete-log content
    • Server Members Intentrequired for ServerMate to connect your custom bot (role/member features)
  4. Optionally enable Presence Intent if you use rich presence / online status features

Save changes in the Portal after toggling intents.

3. Copy your Application ID

  1. Open OAuth2 → General (or General Information)
  2. Copy the Application ID (also called Client ID) — you will enter this in the ServerMate dashboard

4. Bot permissions (reference)

When you invite the bot (step below), ServerMate generates an invite with the permissions your server needs (moderation, roles, channels, slash commands, etc.). You do not need to hand-pick scopes in the Portal if you use the dashboard Invite bot link.


Part 2 — ServerMate dashboard

  1. Sign in at servermate.gg (opens in a new tab) and open your server
  2. Feature Centre → enable Bot Customisation (Pro required)
  3. Open the Bot Customisation panel

Step A — Credentials

FieldWhere to find it
Application IDDeveloper Portal → OAuth2 / General Information
Bot tokenDeveloper Portal → Bot → token (first setup only; leave blank later to keep existing token)
Display nameOptional label for your dashboard

Click Save credentials.

Step B — Validate

Click Validate. ServerMate checks the token and Application ID against Discord's API. Fix any errors before continuing.

Step C — Invite to your server

Click Invite bot to this server (generated after credentials are saved). Authorize the bot with the requested permissions.

Important: Remove or avoid running both the main ServerMate bot and your custom bot with overlapping roles unless you intend to — for custom-bot servers you typically use only your custom bot.

Place your custom bot's role above roles it must assign (moderator, verified, muted, etc.).

Step D — Connect

Click Connect bot. ServerMate starts your application on the bot backend and syncs slash commands to your bot.

  • Success with Message Content: status shows Ready for AI summarisation
  • Connected without Message Content: enable the intent in the Portal, then click Restart connection

Readiness status

StatusMeaning
Not configuredNo credentials saved
Credentials saved — validate and connectToken saved but not validated/connected
Connected — enable Message ContentBot online but Message Content Intent is off in the Portal
Ready for AI summarisationBot connected with Message Content — all message-dependent features work

After setup

  1. Re-enable slash commands on the Commands tab if needed (they register against your custom bot)
  2. Enable AI Summarisation and test /summarise — see AI Summary guide
  3. For dot-prefix custom commands, create commands in Feature Centre → Custom Commands with prefix . (default) — see Commands — custom commands

Server groups (Pro)

On multi-server plans you can configure a shared custom bot for a server group under Server Groups → Custom Bot, or use a separate application per server. Each server still needs the bot invited and connected.


Troubleshooting

ProblemFix
Validate failsRegenerate token in Portal; paste fresh token; confirm Application ID matches
disallowed intents on connectEnable Server Members Intent (and Message Content) in Portal → Bot
Ready for AI but /summarise emptyReconnect bot; confirm commands synced on Commands tab
Custom commands don't firePrefix must not be / for message-based commands; custom bot must show Ready; command enabled in dashboard
Slash commands missingConnect bot first; toggle commands off/on on Commands tab; wait ~1 minute
Switch back to ServerMate botBot Customisation → Remove (or Switch back if Pro lapsed)

Security notes

  • Never share your bot token publicly or commit it to git
  • Rotating the token in the Portal invalidates the old one — save the new token in ServerMate
  • ServerMate stores tokens encrypted; leave the token field blank when updating other fields unless rotating

Learn more