Discord lets your program post updates automatically — gate opens, visitor arrivals, crashes, Dodo codes. Your team can see everything without asking. If you have helpers who post to Facebook, they can grab codes straight from Discord.
Make sure islands are set up in SDT first — see Getting Started for connection, anchors, and opening the gate.
Webhooks vs Bot
There are two ways to send messages to Discord:
| Method | What It Does | Difficulty |
|---|---|---|
| Webhooks | Posts messages to channels. One-way — SDT talks, Discord listens. | Easy |
| Discord Bot | Everything webhooks do, plus DMs, commands, role assignments, queue system. | More setup |
Start with webhooks. Add a bot later if you need DMs or a queue.
Visitor requests and reports from your website appear in SDT’s Inbox (header). Discord is for channel posts, DMs, and the queue — see Getting Started and Super Dodo Terminal for where each lives.
Setting Up Webhooks
In Discord
- Pick (or create) the channel you want notifications in (e.g.
#live-status,#dodo-codes) - Right-click the channel > Edit Channel > Integrations > Webhooks
- Click New Webhook, name it (e.g. "Island Bot"), then Copy Webhook URL
In Super Dodo Terminal
- Open the island's detail panel
- Go to Host Menu > Discord Bot Settings (or the Discord button)
- Paste the webhook URL into the matching field
- Turn on the events you want:
- Gate opened / closed
- Visitor arrived / departed
- Gate crashed / recovered
- Freeze started / stopped
- Timer events
- Save
When you open or close the gate, messages appear in your Discord channel automatically.
Event Assets
You can attach images to Discord notifications (like a custom graphic when the gate opens):
- In the Discord settings, find Event Assets
- For each event, set an image URL or browse for a local file
- Save — images appear in Discord embeds alongside your messages
Customizing Messages
You can edit the text for each event. Use placeholders that get replaced with real data:
| Placeholder | Replaced With |
|---|---|
{dodo} |
Current Dodo code |
{island} |
Island name |
{host} |
Host name |
{visitors} |
Visitor count |
{player} |
Arriving/leaving player name |
Setting Up a Discord Bot
A bot unlocks more features: DMs, commands, role assignments, and the queue system.
Creating the Bot
- Go to discord.com/developers/applications
- Click New Application, give it a name
- Go to the Bot section, click Add Bot
- Important: Enable these Intents:
- Message Content Intent
- Server Members Intent
- Click Reset Token and copy the token — keep it secret!
Inviting the Bot to Your Server
- Go to OAuth2 > URL Generator
- Select scopes:
bot,applications.commands - Select permissions: Send Messages, Read Message History, Ban Members, Manage Messages
- Copy the generated URL, open it, and add the bot to your server
Configuring in SDT
- Open the island's Discord Bot Settings
- Go to the Setup tab
- Enter your Bot Token and Server ID (Guild ID)
- Test the connection
Getting Your Server ID
- In Discord: User Settings > Advanced > turn on Developer Mode
- Right-click your server name
- Click Copy ID
Per-Island Bot Settings
Each island has its own Discord bot configuration with several tabs:
| Tab | What's In It |
|---|---|
| Setup | Bot token, guild ID, test connection |
| Channels | Which channels receive which events |
| Announcements | Gate open/close messages, fancy embeds, images, ping roles |
| Queue | Queue system settings (see below) |
| Moderation | Strike DMs, ban DMs, auto-ban on Discord |
| Roles | VIP roles, banned roles, access control |
| Permissions | Who can use which bot features |
Queue System
The queue system manages visitor flow through Discord. Visitors join a queue, get notified when it's their turn, and receive the Dodo code via DM.
How It Works
- Visitor reacts with a plane emoji or types
!joinin the queue channel - Bot confirms their position via DM
- When a spot opens, visitor receives the Dodo code
- They have a set time to arrive (AFK timeout)
- When they leave, the next person is notified automatically
Queue Settings
| Setting | What It Does |
|---|---|
| Queue Channel | Where the queue message appears |
| Max Visitors | How many can be on the island at once |
| Join Method | Reaction only, command only, or both |
| AFK Timeout | Minutes to arrive after getting notified (default: 5) |
| Cooldown | Minutes before someone can rejoin after visiting (default: 30) |
| Position Updates | DM users when their position changes |
| Require Registration | Must be registered before joining |
| VIP Role | Users with this role get priority |
| Banned Role | Users with this role can't join |
| Auto Advance | Automatically notify next person when someone leaves |
User Commands
| Command | What It Does |
|---|---|
!join |
Join the queue |
!leave |
Leave the queue |
!position |
Check current position |
What Visitors See
The queue embed in Discord shows the queue status, how many people are waiting, how many are on the island, and the next few names in line. It updates automatically.
If the Gate Crashes
When you get a new Dodo code after a crash, the queue system automatically updates the code and DMs it to everyone who was notified or on the island. Queue positions stay intact.
Modmin Server
Modmin (Moderator + Admin) is a private Discord server for your hosting team. Discord becomes your team dashboard.
Why Use One?
Without it, hosts are constantly asking each other for codes and status. With it, every Dodo code posts automatically, crashes trigger alerts, and helpers grab codes to post to Facebook — all in one place.
Recommended Channel Structure
📋 INFORMATION
├── #welcome-rules
├── #host-roster
└── #announcements
🏝️ ISLAND STATUS
├── #island-1
├── #island-2
└── #island-3
🎫 DODO CODES
├── #active-codes
└── #code-history
🚨 ALERTS
├── #gate-alerts
├── #visitor-alerts
└── #strike-alerts
💬 TEAM CHAT
├── #general
└── #scheduling
Setting It Up
- Create a Discord server — Private, invite-only
- Create channels with webhooks for the automated ones
- Each host configures SDT with the same webhook URLs — all posts go to the same channels
- Invite your team — Hosts, helpers, and admins only
Roles
| Role | Who Gets It | Access |
|---|---|---|
| Admin | Server owner, lead organizers | Everything |
| Host | Active hosts with hacked Switches | All channels |
| Helper | Non-hacked helpers who post to Facebook | Codes + assets only |
| Moderator | Discord mods who handle issues | Alerts + chat |
Non-Hacked Helper Workflow
Helpers who don't have hacked Switches can still help:
- Watch the
#active-codeschannel - When a code appears, grab it
- Grab the boarding pass image from
#event-assets - Post to Facebook group
This lets you scale your team without everyone needing a hacked Switch.
Unified Bot (HostHelper)
If you manage many islands (or a team), setting up a separate bot for each island is tedious. HostHelper's Unified Bot solves this:
- In HostHelper, go to the Unified Bot tab
- Enter one Bot Token and one Guild ID
- Click Save & Push to SDT
- SDT applies this bot to all your islands
One bot, all islands. Much simpler for large operations.
Facebook Host Mode
For hosts who post to Facebook groups:
- Set up templates in SDT for gate open, close, crash, and recovery posts
- Optionally generate a boarding pass image with the Dodo code printed on it
- Helpers can grab the image and post directly to Facebook
This lives in SDT under Host Menu > Facebook Host Mode.
What's Next
- Getting Started — SDT setup before webhooks and bots
- Island detail panel — Host menu, visitor list, Discord settings per island
- HostHelper — Unified bot tab
Security Tips
- Never share webhook URLs publicly — anyone with the URL can post to that channel
- Never share bot tokens — treat them like passwords
- Rotate tokens if a team member leaves
- Use role permissions to limit who sees what
- Keep the Modmin server invite-only
Troubleshooting
Webhook Not Sending
- Verify the URL is correct (starts with
https://discord.com/api/webhooks/) - Check the channel still exists
- Try creating a new webhook
Bot Not Connecting
- Verify the token is correct (copy it fresh from the Developer Portal)
- Make sure the bot is in your server
- Check the Server ID
- Make sure Intents are enabled (Message Content + Server Members)
DMs Not Sending
- The player must be linked to their Discord ID (right-click in visitor list > Link Discord ID)
- The bot must share a server with the user
- The user may have DMs disabled (nothing you can do about that)
Queue Not Working
- Make sure the bot has Add Reactions and Read Message History permissions
- Check that the queue channel ID is correct
- Verify the join method (reaction, command, or both) matches what users are trying to do