Getting started
- Add DawnBot from the dashboard (Add DawnBot to a server).
- In Server Settings → Roles, drag the DawnBot role above every role it should moderate or hand out. Discord bots can't touch roles above their own.
- Open the dashboard, log in with Discord and pick your server. Each module has its own tab. Change what you need and press Save.
- Type
/in Discord to see every command.
The dashboard shows servers where you have Manage Server.
Permissions
Every command needs the matching Discord permission by default, e.g. /ban needs Ban Members. To change who can use which command, per role or per channel, go to Server Settings → Integrations → DawnBot.
Moderators can't act on someone whose top role is equal to or above their own, and nobody can moderate the server owner.
Greetings
Dashboard tab Greetings. Welcome message, DM to new members, leave message and ban message. Leave any of them empty to turn it off.
| Placeholder | Becomes |
|---|---|
{user} / {mention} | Mentions the member |
{username} | Their username |
{id} | Their user ID |
{server} | Server name |
{count} | Member count |
Testing: the Send test button on the dashboard, or /testgreet, posts all three messages with you as the member.
Roles
- Autoroles: roles every new member gets.
- Sticky roles: members who leave and rejoin get their roles back.
- Role menus: button menus built on the dashboard. Modes:
toggle(click to get, again to drop),unique(one role per menu),verify(get only),drop(remove only). /role add|removegives or takes a role by hand.
Automod
Deletes messages that break a rule, then optionally warns, times out (10 min), kicks or bans. Members with Manage Messages, ignored roles and ignored channels are skipped.
- Discord invites
- Links (with an allowlist of domains)
- Banned words (whole words, any case)
- Mass mentions
- Too many caps
- Message spam (messages per 5 seconds)
Warnings from automod count towards auto-punishment (Moderation tab).
Moderation
Every action is saved as a numbered case and posted to the mod log. Banned, kicked and warned users get a DM with the reason.
| Command | What it does |
|---|---|
/ban user [reason] [duration] [delete_days] | Ban. With a duration (e.g. 7d) it's a tempban that lifts itself. |
/softban user [reason] | Ban + unban: removes them and a day of their messages. |
/unban user [reason] | Unban by name or ID, with suggestions from the ban list. |
/kick, /timeout user duration, /untimeout | Kick, time out (max 28 days), remove a timeout. |
/warn user reason | Warn. Auto-punish after N warnings (dashboard). |
/note user text | Private note on a user's record. |
/modlogs user, /case n, /reason n text, /delcase n | View, edit or delete cases. |
/purge amount [user] [contains] [bots] | Bulk delete up to 100 recent messages (not older than 14 days). |
/slowmode seconds, /lock, /unlock | Channel controls. |
/nick user [nickname] | Change or reset a nickname. |
Logging
Set a default log channel, and optionally separate channels per category. Empty categories use the default.
- Messages: edits, deletes, purges
- Members: role changes, nicknames, timeouts, bans, unbans
- Joins: joins (with account age) and leaves
- Voice: join, leave, move
- Server: channels and roles created or deleted
The mod log (Moderation tab) gets every case.
Starboard
When a message gets enough reactions with the starboard emoji (default ⭐, 3 reactions), it's reposted in the starboard channel, and the count updates live.
Suggestions
/suggest text posts a numbered suggestion with 👍/👎 in the suggestions channel. Staff answer with /suggestion id approve|deny|consider [reason], which updates the post and DMs the author.
Embeds
The dashboard's Embeds tab builds an embed with title, description, color, image, thumbnail, author and footer, with a live preview, and posts it to any channel. Images are URLs.
Announcements
The Announcements tab reposts a message every 30 minutes up to every week, as an embed in your embed colour. If nobody has chatted since the last one, it skips a turn. Send now posts one straight away.
Server status
Set a Status channel and DawnBot keeps one message there, updated every 2 minutes, showing each PufferPanel server as online or offline with CPU and RAM. Add a Minecraft address for the player count. Roles you pick get pinged when a server goes offline. Needs PUFFERPANEL_URL, PUFFERPANEL_CLIENT_ID and PUFFERPANEL_CLIENT_SECRET in .env.
Store
The Minecraft store lives at /store/ (and on any store. address pointed at the bot). Its Join the community and Discord buttons go to /invite, which sends people to a permanent invite DawnBot creates for the channel you pick under Store in the dashboard. Pick it in one server only. Change the channel any time; the buttons follow within the hour. DawnBot needs the Create Invite permission there.
Tickets
Run /ticketpanel in a channel to post an Open a ticket button. Each ticket is a private channel next to the panel that only the member, your staff roles and DawnBot can see. Close it with the button or /ticket close; a .txt transcript goes to the Ticket log and the channel is deleted. Staff can use /ticket add and /ticket remove to bring people in or out. Members can also use /ticket open. DawnBot needs Manage Channels and Manage Roles.
AI
Off until you turn it on in the AI tab. Uses Google Gemini's free tier by default (GEMINI_API_KEY); any OpenAI-compatible provider works with AI_BASE_URL, AI_API_KEY and AI_MODEL. Text sent to the AI goes to that provider.
| Command | What it does |
|---|---|
/ask question | Answers using your Server info text and tags |
| @DawnBot … | Same, when Answer @mentions is on |
/summarize [messages] | Bullet summary of recent chat, only you see it |
/translate text [to] | Translate (default English) |
| Message menu → Apps → Translate to English / Explain this | Private translation or explanation of a message |
Limits: a daily cap per server (default 200) and a cooldown per member (default 20s). Pick channels to restrict where AI works.
Utilities
| Command | What it does |
|---|---|
/remind in text | Reminder, e.g. /remind 2h stretch |
/highlight add|remove|list | DM when someone says a word you watch |
/userinfo, /serverinfo, /roleinfo, /avatar | Info cards |
/about | About DawnBot |
FAQ
"My role is too low" means DawnBot's role is below the target's top role. Drag DawnBot higher in Server Settings → Roles.
A command doesn't show up because you lack the permission it needs, or an admin restricted it in Integrations.
Automod ignores me because members with Manage Messages are always skipped. Test with a normal account.
DawnBot docs