Skip to content

Bot Setup

Baytae Tistear edited this page Jul 12, 2026 · 3 revisions

Bot Setup

Parent section: Installation and Setup

This page explains first-time Discord bot setup after the server is installed. For the shortest path, see Server Owner Quick Setup.

1. Create The Discord Application

In the Discord Developer Portal:

  1. Create an application.
  2. Create a bot user.
  3. Copy the bot token into the server env file as DISCORD_TOKEN.
  4. Copy the application/client ID into DISCORD_CLIENT_ID.
  5. Keep the client secret private for OAuth setup.

Never paste token or secret values into the wiki.

2. Enable Required Discord Settings

Enable the Discord features the bot needs, including application commands and any privileged intents required by the current bot behavior.

Use the least privileged permissions that still allow:

  • Posting submission reposts.
  • Reading configured channels.
  • Sending embeds/files where submissions/games are used.
  • Managing messages only where moderation features require it.
  • Using slash commands.

3. Invite The Bot

Generate an invite URL from the Developer Portal or the dashboard invite page. The invite should include these scopes:

  • bot
  • applications.commands

After inviting, confirm the bot appears in the server member list.

4. Confirm Slash Commands

By default SDAC keeps the visible command list small:

/sdac
/submit
/guess
/hint

Most admin tools are behind /sdac buttons and submenus. If Discord shows duplicate old commands, run /sdac -> Setup -> Sync Commands. Discord may take a minute to refresh the command picker.

5. Run The Setup Wizard

Start with:

/sdac

Open Setup and use the guided controls for:

  • SDAC admin role.
  • Submission channel.
  • Category repost channels.
  • Optional approval channel.
  • Weekly top-post schedule.
  • Game summary channel.
  • Error notification channel.
  • Server timezone.
  • Server branding.
  • Optional custom command name.
  • Command sync.
  • Setup test and diagnostics.

6. Optional Custom Command Name

Server owners can add a server-only launcher such as /pepo from:

/sdac -> Setup -> Command Name

This does not remove /sdac. /sdac always remains the fallback.

After changing the command name, use:

/sdac -> Setup -> Sync Commands

7. Configure Categories

Create, review, and edit categories from the setup wizard or dashboard category manager. No categories should be hard-coded by default. Each server should configure its own.

8. Configure Staff Access

Grant Discord roles that can manage SDAC through the setup wizard or server-owner dashboard pages. Dashboard role rules are separate and documented in Roles and Permissions.

9. Configure Features

Use /sdac setup panels or the dashboard settings pages for feature toggles such as submissions, approval queues, guessing games, weekly posts, public gallery visibility, cross-server visibility/rankings, and server-specific behavior.

10. Configure Moderation

Moderation setup can be handled through /sdac moderation panels and the dashboard. Configure approval-before-repost, blocked words, allowed media types, new-user approval, spoiler approval, file size, monthly submissions, active games, storage limits, and removal reasons.

11. Configure Games

Users normally use:

/guess
/hint

Admins can manage game setup through /sdac, the dashboard game library, and advanced admin help.

12. Configure Backups

Backup setup is available through /sdac backup panels and Bot Owner/Server Owner dashboard pages. Provider credentials should be configured on the server and never published in the wiki.

13. Final Bot Verification

Confirm:

  • /sdac opens the control center.
  • /sdac -> Setup -> Sync Commands reports duplicate guild commands cleared.
  • /submit can create a test submission.
  • The bot can post in configured channels.
  • /sdac -> Setup -> Run Setup Test passes or shows only expected warnings.
  • /sdac -> Setup -> Diagnostics does not show critical failures.
  • Bot Owner Home does not show a bot restart warning after updates.
  • Admin alert channels receive testable notices where configured.

Clone this wiki locally