Announce new posts, videos and livestreams from 8 social platforms directly in your channels — each platform with its own command, all sharing the same four subcommands.
Supported platforms
Command
Announces
Target format
,youtube
new uploads
channel id (UC…) or @handle
,twitch
stream goes live
streamer name
,kick
stream goes live
streamer name
,x
new posts
username without @
,reddit
new posts
r/subreddit or plain name
,tiktok
new uploads
@username
,soundcloud
—
reserved (needs API key)
,pinterest
—
reserved (needs API key)
SoundCloud and Pinterest offer no public feed. Subscriptions can be saved, but nothing is announced until an API key is configured — the commands exist so the setup survives the day a key is added.
Subscribing — add
Creates a subscription: whenever the account posts, an announcement appears in the chosen channel. The same account can feed several channels, and one channel can carry several accounts.
,youtube add(#channel) (target)
,youtube add#videos @MrBeast
e
exonToday at 2:13 PM
,youtube add #videos @MrBeast
babes✓ APPToday at 2:13 PM
✔@exon: Now announcing new YouTube uploads from @MrBeast in #videos
Works identically on every platform:
,twitch add #live ninja — announce when ninja goes live
,reddit add #memes r/memes — announce new posts from r/memes
,tiktok add #clips @khaby.lame — announce new TikToks
Requires the Manage Server permission. The bot needs Send Messages in the target channel — if it can’t post there, announcements are silently skipped.
Unsubscribing — remove
,youtube remove(#channel) (target)
,youtube remove#videos @MrBeast
Removes exactly one subscription — the pair of channel and account. Other channels subscribed to the same account keep working.
Overview — list
,youtube list
,youtube list
Shows every subscription of that platform on this server: the account, the channel it posts into, and the custom message if one is set. Each platform lists only its own — ,youtube list won’t show Twitch subscriptions.
Custom announcements — message
Replaces the default announcement text with your own. Placeholders are filled per post:
,youtube message(text with placeholders)
,youtube message{target} just dropped a video! {url}
Placeholder
Becomes
{target} / {user}
the subscribed account name
{title}
video/post title (empty where the platform has none)
{url}
direct link to the post/stream
{text}
post text, where available (e.g. Reddit selftext, max 300 chars)
Role pings like @Videos work inside the message; whether they actually notify follows the subscription’s ping setting.
How polling behaves
Feeds are polled continuously in the background — no manual refresh, announcements appear within a few minutes of the post.
The first check after subscribing announces nothing. It only remembers the newest existing post, so adding an account never floods the channel with its history.
Announcements are posted oldest first, so multiple new posts read in the right order.
After downtime, at most 5 catch-up announcements per feed are posted — never the whole backlog.
Twitch/Kick announce the moment a stream goes live — not on every title change.
Announcements come from the bot itself, so your logging and automod exemptions for bots apply normally.
Server Configuration
Reminders
Personal reminders — one-off or recurring, delivered as a ping in the channel you set them, with a DM fallback.
Setting a reminder
,remind(duration) (text)
,remind10m pizza aus dem ofen holen
e
exonToday at 2:13 PM
,remind 10m pizza aus dem ofen holen
babes✓ APPToday at 2:13 PM
✔@exon: I’ll remind you in 10m (July 26, 2026 4:35 PM): pizza aus dem ofen holen id 1 — remove with ,remind remove 1
,remind add … is the identical long form. The confirmation shows the exact due time as a Discord timestamp — every reader sees it converted to their own timezone — plus the id you’d use to remove it.
Accepted durations
Short
Long (EN)
Long (DE)
45s
seconds
sekunden
10m
minutes
minuten
2h
hours
stunden
3d
days
tage
1w
weeks
wochen
Number and unit are written together: 30minuten works, 30 minuten (with a space) doesn’t.
Limits
maximum 1 year ahead
up to 25 active reminders per member per server
reminder text up to 500 characters
Recurring reminders — every
,remind every(interval) (text)
,remind every1d wasser trinken
e
exonToday at 2:13 PM
,remind every 1d wasser trinken
babes✓ APPToday at 2:13 PM
✔@exon: I’ll remind you every 1d, starting July 27, 2026 4:35 PM: wasser trinken id 2 — stops only when you ,remind remove 2
Repeats forever until removed — there is no end date; ,remind remove (id) is the off switch.
The id stays the same across every occurrence — what you see in list today still works next month.
Minimum interval: 10 minutes. Anything faster is channel spam and gets rejected.
Downtime never causes a flood: if the bot was offline past one or more due times, the reminder fires once on startup and then snaps back to its normal rhythm — a daily reminder missed for a week does not replay seven times.
,remind add every 12h dehnen — add and every combine freely.
Your reminders — list
,remind list
,reminders
Both ,remind list and the standalone ,reminders show the same thing: every active reminder with its id, a live countdown (in 3 hours), the repeat interval for recurring ones, and the text. A bare ,remind with no arguments shows the list too.
Removing — remove
,remind remove(id)
,remind remove2
Ids come from list or the confirmation message.
Only your own reminders can be removed — someone else’s id is rejected even if guessed.
Removing a recurring reminder ends the whole series.
How delivery works
The reminder arrives as a ping in the channel you set it in, with your text in an embed.
If that channel was deleted in the meantime, it arrives as a DM instead, labeled with the server it came from.
If both fail (channel gone and DMs closed), that occurrence is dropped — it is never retried into the void.
Delivery is exact to about 15 seconds; a 10m reminder can arrive a few seconds after the minute mark.
Reminders are personal — no permission is needed to use them. If a server restricts the command, it does so via the normal command permissions.
Resources
Speech Voices
All available voices for the text-to-speech command — real neural voices, picked by name.
Using text-to-speech
,tts[voice] (text)
,ttsJoey hey waddup hello
e
exonToday at 7:38 AM
,tts Joey hey waddup hello
babes✓ APPToday at 7:38 AM
tts.mp3 12.4 KB
The voice is optional.,tts guten morgen zusammen speaks with the default voice (Katja, German) — just type your text.
Voice names are case-insensitive: ,tts joey … and ,tts Joey … are the same.
If the first word isn’t a known voice, it simply counts as part of the text — nothing to get wrong.
The reply is an .mp3 attachment, playable right in Discord. Text is capped at 300 characters.
Old-style language codes keep working: ,tts de … → Katja, ,tts en … → Guy, ,tts fr … → Denise, and so on.
Each voice speaks its native language best — Katja reads German, Guy English, Nanami Japanese. Feeding a voice the “wrong” language works and comes out with an accent.
Speaking in voice channels
,ttschannel [voice] (text) is reserved for speaking directly into your current voice channel. It requires the Lavalink TTS setup (see lavalink/SETUP.md) — until that is configured, the command explains what’s missing instead of failing silently.
Overview
Introduction
babes is a premium all-in-one Discord bot — security, moderation, tickets, levels, music, statistics and everything in between.
Getting started
Invite babes from the homepage. The moment it joins, every module is ready — nothing has to be installed. You configure features in two equal ways:
Dashboard — the web dashboard has a tab for every module with live previews.
In chat — every setting also has a command; changes sync with the dashboard instantly, both write to the same settings.
The prefix
The default prefix is , — every command in these docs is written with it. Change it any time:
,prefix set(symbol)
,prefix set!
e
exonToday at 2:13 PM
,prefix set !
babes✓ APPToday at 2:13 PM
✔@exon: Server prefix updated to !
Statistics commands can optionally run under their own separate prefix so they never collide with other bots — see Statistics.
Command permissions
Every single command can be enabled, disabled or restricted to specific roles — per command, per category, or in bulk:
,enable (command) — turn a command on (alias ,en)
,disable (command) — turn it off (alias ,di)
,allow (command) (@role) — allow a role to use it (alias ,al)
,disallow (command) (@role) — take that back (alias ,dis)
The same toggles live on the dashboard under Commands — both write to the same settings.
babes Premium unlocks every feature on every server you own.
What premium unlocks
Premium removes every feature gate: per-server bot customization (name, avatar, banner, bio), extended limits across modules, and priority in the support server. Free modules — levels, giveaways, join gate and more — stay free forever.
Getting premium
Premium is bought on the premium page. After purchase, claim it on the server it should apply to:
,premium(claim|days|status)
,premium claim
e
exonToday at 2:13 PM
,premium claim
babes✓ APPToday at 2:13 PM
✔@exon: Premium claimed for this server. Enjoy!
Checking your premium
,premium status — shows whether this server currently has premium
,premium days — shows the remaining premium time
Premium status is also shown at the top of the dashboard sidebar for every server.
When premium runs out
Premium-only settings are kept, not deleted — they simply pause until premium is active again, so nothing has to be reconfigured.
Overview
Customization
Change how babes appears in your server — avatar, banner and bio, per server.
The customize command
,customize(bio|avatar|banner|reset) [value]
,customize bio the best server on discord
,customize avatar (image URL or attachment) — per-server avatar
,customize banner (image URL or attachment) — per-server profile banner
,customize bio (text) — the bot’s about-me text
,customize reset — back to the defaults
e
exonToday at 2:13 PM
,customize bio the best server on discord
babes✓ APPToday at 2:13 PM
✔@exon: Updated the bot bio for this server
Good to know
Images can be a direct URL or simply attached to the command message.
Changes apply only to your server — every server gets its own look.
Discord caches profiles aggressively; give a new avatar a minute to show everywhere.
Customization requires premium on the server — see Premium Perks.
Security Setup
Antinuke
Impose restrictions on moderators to prevent destructive behavior.
Why use an antinuke system?
It's important to have an antinuke system in place to prevent moderators from abusing their permissions. This is a security measure which lets your server stay safe from any harmful actions.
How does the antinuke work?
The antinuke will set a limit on the number of actions a moderator can perform in a certain time frame. If the limit is exceeded, the moderator will be punished and the incident is written to the antinuke log.
Configuring the antinuke
Roles carrying dangerous permissions are the fastest way to nuke a server. It's HIGHLY recommended to enable the dangerous_role_add module so handed-out admin roles are stripped automatically.
Allowing users to configure the antinuke
Initially, only the server owner can configure the antinuke. However, you can allow other users to configure the antinuke with the antinuke admin command.
This is a dangerous command and will allow the user to entirely alter the antinuke configuration.
,antinuke admin(user)
,antinuke admin@jonathan
e
exonToday at 7:37 PM
,antinuke admin @jonathan
babes✓ APPToday at 7:37 PM
✔@exon: jonathan is now an antinuke admin and can edit antinuke settings
e
exonToday at 7:37 PM
,antinuke admin @jonathan
babes✓ APPToday at 7:37 PM
✔@exon: jonathan is no longer an antinuke admin and can no longer edit antinuke settings
Exempting users from the antinuke
You can exempt users from the antinuke with the antinuke whitelist command — either globally, or for a single module only (e.g. allow a bot manager to add bots without whitelisting them for everything).
This is a dangerous command and will allow the user to bypass the antinuke entirely.
,antinuke whitelist(user) [module|lite]
,antinuke whitelist@jonathan
What you can whitelist
The third argument decides the scope. Without one the user is whitelisted globally; with a module name only that module is bypassed; with lite only the lite-dangerous permissions are.
(no module)full whitelist — the user bypasses every antinuke module
litelite tier — may grant/remove only the lite-dangerous permissions below
banAnti Ban
kickAnti Kick
role_createAnti Role Create
role_deleteAnti Role Delete
channel_createAnti Channel Create
channel_deleteAnti Channel Delete
disconnectAnti Disconnect
timeoutAnti Timeout Abuse
bot_addAnti Bot Add
pruneAnti Prune
dangerous_role_permAnti Dangerous Role Permission Update
dangerous_role_addAnti Dangerous Role Add
webhookAnti Webhook
vanityAnti Vanity Change
Lite-dangerous permissions
These are the permissions a lite-whitelisted user may grant or remove on roles without triggering the antinuke. Every other protected permission stays fully dangerous for them.
embed_linksEmbed Links
attach_filesAttach Files
mute_membersMute Members
deafen_membersDeafen Members
move_membersMove Members
e
exonToday at 7:33 PM
,antinuke whitelist @jonathan
babes✓ APPToday at 7:33 PM
✔@exon: jonathan is now whitelisted and will not trigger antinuke
e
exonToday at 7:33 PM
,antinuke whitelist @jonathan botadd
babes✓ APPToday at 7:33 PM
✔@exon: jonathan is now whitelisted for the bot_add module
The lite whitelist tier
Not every permission is equally dangerous. The antinuke treats Embed Links, Attach Files, Mute Members, Deafen Members and Move Members as lite-dangerous: annoying if abused, but not server-destroying. All other protected permissions (Administrator, Ban Members, Manage Roles, …) remain fully dangerous.
A user on the lite whitelist may grant or remove exactly these lite permissions on roles without triggering the role-permission module — useful for staff who manage cosmetic or voice-moderation roles. Everything else still triggers the antinuke for them, unlike the full whitelist which bypasses every module.
Lite whitelist = may touch only Embed Links, Attach Files, Mute/Deafen/Move Members. Full whitelist = bypasses the entire antinuke. Run the command again to remove the tier.
,antinuke whitelist(user) lite
,antinuke whitelist@jonathan lite
e
exonToday at 7:34 PM
,antinuke whitelist @jonathan lite
babes✓ APPToday at 7:34 PM
✔@exon: jonathan is now lite whitelisted — they may grant/remove Embed Links, Attach Files, Mute Members, Deafen Members, Move Members on roles without triggering antinuke. All other dangerous permissions still trigger.
Enabling an antinuke module
Available Flags
The following flags can be used to define the antinuke module
Threshold
The threshold is the number of actions a moderator can perform before being punished.
It's recommended to keep the threshold between 1 and 6 to stay safe.
--threshold(number)
--threshold3
Punishment
The punishment which will be applied to the moderator.
Available punishments: ban, kick and clear_roles (strips every role). The default is kick.
--do(punishment)
--doban
Command Detection
Whether babes commands should be counted towards the threshold. (e.g. ,ban)
Command detection is available for the ban, kick and timeout modules.
--command(on/off)
--commandon
Available Modules
Disabling an antinuke module
You can disable an antinuke module with the same command you used to enable it, but with the status set to off.
Viewing the antinuke configuration
You can use the antinuke config command to view the current antinuke configuration.
e
exonToday at 2:21 PM
,antinuke config
babes✓ APPToday at 2:21 PM
Settings
Antinuke is enabled in this server
Modules
Mass Member Ban: ✔
Mass Member Kick: ✔
Webhook Creation: ✔
Channel Creation/Deletion: ✔
Role Deletion: ✔
Dangerous Role Add: ✔
General
Super Admins: 3
Whitelisted Bots: 18
Whitelisted Members: 2
Protection Modules: 8 enabled
Protected Permissions: 9/17 perms
Deny Bot Joins (botadd): ✔
Viewing the modules & whitelist
You can use the antinuke list command to view the enabled modules and whitelisted users.
e
exonToday at 2:28 PM
,antinuke list
babes✓ APPToday at 2:28 PM
Antinuke modules & whitelist
1kick (do: ban, threshold: 3, cmd: on)
2webhook (do: ban, threshold: 3)
3ban (do: ban, threshold: 3, cmd: on)
4channel_delete (do: ban, threshold: 3)
5role_delete (do: ban, threshold: 3)
6dangerous_role_add (auto-revert)
7qrscan whitelisted ( 1161982476143575051 ) [ MEMBER ]
You can use the antinuke admins command to view users which can configure the antinuke.
e
exonToday at 2:26 PM
,antinuke admins
babes✓ APPToday at 2:26 PM
Antinuke admins
1@Adonis
2@caden
3@exon
Page 1/1 (3 entries)
Permissions available for antinuke permissions (grant or remove)
Roles that gain — or members that are handed — one of these protected permissions trigger the dangerous_role_perm / dangerous_role_add modules. Manage the watched set with ,antinuke permissions grant <perm> and ,antinuke permissions remove <perm>.
Antinuke Permissions
Anti Everyone Ping
The everyone module watches delivered @everyone and @here pings. It closes a real gap: the antinuke always protected the granting of the Mention Everyone permission — but someone who holds it legitimately (staff role, channel override) could mass-ping without the antinuke ever looking. Now the use is watched too.
✔@exon: Anti Everyone Ping enabled — 3 pings / 60s → ban
Threshold: pings within a 60-second window. Older pings fall out of the window, so 3 pings spread across a day never trigger — only actual spam does.
Punishments:kick, ban or clear_roles — same options as every other module.
After a punishment the counter resets, so the next single ping doesn’t immediately re-trigger.
Who is never punished
the server owner
users on the global antinuke whitelist
users whitelisted for this module: ,antinuke whitelist @user everyone — do this for your announcement team
bots and webhooks — bots can’t be meaningfully kicked for pinging, and rogue webhooks are Anti Webhook’s job
Good to know
Only delivered pings count. Someone typing @everyone without the permission produces grey text that pings nobody — and triggers nothing. No false positives.
The 60s window is deliberately longer than the usual 10s of other modules: ping abuse is slower-paced — someone pinging every 15–20 seconds would slip through a 10s window entirely.
Every hit is written to the antinuke log with channel and message preview.
Security Setup
Join Gate
Keep fresh throwaway accounts out of your server before they can do anything.
How it works
The join gate checks the account age of every member who joins. Accounts younger than your configured minimum are removed automatically — before they can post, DM members or scrape your member list. Raid bots and ban evaders almost always join on brand-new accounts, which is exactly what the gate blocks.
Setting it up
,joingate(on/off/days) [value]
,joingate days7
,joingate on — enable the gate
,joingate off — disable it
,joingate days 7 — require accounts to be at least 7 days old
e
exonToday at 2:13 PM
,joingate days 7
babes✓ APPToday at 2:13 PM
✔@exon: Join gate updated — accounts must now be at least 7 days old
Choosing a minimum age
1–3 days — light protection, blocks only the most obvious throwaways.
7 days — the sweet spot for most servers.
14–30 days — strict; use during active raids or for high-risk communities.
Combine the join gate with Anti Raid (join-rate detection) and Antinuke (staff protection) for full coverage.
Security Setup
Anti Raid
Detects join waves and shuts the raid down automatically.
How it works
Anti raid watches the join rate of your server. Normal servers get a trickle of joins; a raid is a spike — dozens of accounts in seconds. When the configured threshold is crossed inside the time window, the raid response fires automatically for every account in the wave.
Raid responses
Kick — remove the wave, let legitimate users rejoin later.
Ban — permanent removal of every account in the wave.
Lockdown — freeze joins/verification until the wave passes, then lift it.
Configuration
Anti raid is configured in the dashboard under Security → Anti Raid: join threshold, time window, the response, and the log channel where every incident is reported with the full account list.
After a raid, review the log before unbanning anyone — raid accounts often return in a second wave.
Pair anti raid with a join gate: the gate removes young accounts one by one, anti raid catches coordinated waves.
Security Setup
Automod
Automatic message filtering — spam, links, invites, banned words, mass mentions and more.
Available filters
Banned words — exact words or wildcard patterns; messages are removed instantly.
Discord invites — block foreign server invites, with a whitelist for partners.
Links — block all links or only specific domains.
Mass mentions — stop @everyone bait and mention spam.
Spam — repeated messages and floods.
Media rules — picture-only channels, auto-delete of media after a delay, image moderation.
Actions
Each filter has its own action chain: delete the message, warn the member, mute or timeout — escalating with repeat offenses. Violations are written to your log channels.
Exemptions
Exempt roles (moderators) and channels (staff areas, bot channels) per filter — exempted members are never punished by automod.
Configuration
Everything lives in the dashboard under Automod — filters, actions, exemptions and per-channel overrides, with live previews.
Automod handles messages. Destructive staff actions (mass bans, channel deletes) are the antinuke’s job — see Antinuke.
Chat commands (,filter)
Everything above is also drivable from chat. ,filter writes to the same settings as the dashboard — change something in either place and the other reflects it instantly.
The word filter
,filter add(word[, word2, …])
,filter addbadword, otherword
e
exonToday at 2:13 PM
,filter add badword, otherword
babes✓ APPToday at 2:13 PM
✔@exon: Added badword, otherword to the word filter — matching messages are deleted.
Comma-separated lists add several words at once; a phrase without commas stays one entry.
,filter add automatically enables the filter and attaches a delete action — an “enabled” filter that silently does nothing doesn’t exist.
Matching is case-insensitive substring: bad also catches SuperBADword.
,filter remove word1, word2 — removes; tells you which weren’t on the list.
,filter list — words, whitelist, regex patterns and the filter’s ON/OFF state in one embed.
,filter reset — wipes words, whitelist and patterns in one go.
Word management needs Manage Server; module settings below need Manage Channels.
Whitelist & regex
,filter whitelist(word)
,filter whitelistgrass
Whitelist entries are substrings that never count as a hit: whitelist grass and it stops tripping a filtered ass — while a bare ass elsewhere in the same message still hits. The command toggles: run it again to remove.
Regex — ,filter regex (pattern) adds a case-insensitive pattern for things plain words can’t express (letter-repeats, leetspeak). Invalid patterns are rejected with the error. Regex shares the word filter’s toggle, exempts and actions.
The eight modules
,filter(module) (all|#channel) (on|off) [limit]
,filter capsall on 80
Module
Deletes messages with…
Limit means
caps
too many uppercase characters
max % uppercase
spam
messages sent too fast
messages per window
invites
Discord server invites
—
links
any link
—
massmention
too many user mentions
mentions per window
emoji
too many emojis
emojis per window
spoilers
too many ||spoiler|| blocks
max blocks per message
musicfiles
audio attachments (mp3, wav, ogg, …)
—
all on [limit] — server-wide; the optional limit updates the threshold in the same breath.
#channel off — channel exception: the module skips that channel while staying active elsewhere. #channel on removes the exception (and honestly warns if the module is off server-wide).
,filter caps with no state shows current status, threshold and the exact syntax.
Every module has exempt @role (toggle) and exempt list — exempted roles are never filtered by that module.
Extras
,filter links whitelist (url) — allow a domain through the link filter; toggles, stored by hostname (youtube.com).
,filter snipe on — messages deleted by a filter stay out of ,snipe. The point of a word filter is defeated if snipe replays the blocked text.
,filter wordmigrate — copies up to 1000 filtered words into a native Discord AutoMod rule (blocks before the message even appears). The bot-side filter stays active alongside; Discord allows at most 6 keyword rules.
Security Setup
Moderation
The full moderation toolkit — punishments, message cleanup, history and safety nets.
Punishments
,ban @user [reason] — ban a member
,softban @user — ban + instant unban — purges their recent messages
,hardban @user — a ban that re-applies itself if anyone tries to lift it
,unban (user id) — lift a ban
,kick @user [reason] — kick a member
,mute @user [duration] [reason] — mute via the configured muted role
,warnings @user — list all warnings (alias ,warns)
,clearwarns @user — clear them (alias ,clearwarnings)
Warnings feed into automod escalation — repeat offenders can be muted or timed out automatically.
Message cleanup
,purge(amount) [filter]
,purge50
,purge has filter subcommands — each one its own toggle on the dashboard:
,purge embeds 20 — only messages with embeds
,purge bots 30 — only bot messages
,purge links 15 — only messages containing links
,purge images 25 — only messages with attachments
,purge @user 40 — only messages of one member
Punishment history
,history @user shows every past case of a member — bans, kicks, mutes, warns — with case numbers, moderators and timestamps. Subcommands remove single entries or clear the record.
Safety nets
,checkperms — audits every role for dangerous permissions, including channel overrides
,checkbots — lists every bot on the server with its permissions
,recentban — shows the most recent bans at a glance
Every action here is written to the mod log with a case number — set that up under Logging.
Hardban rules
,hardban is a ban that defends itself: if anyone lifts it, the bot re-bans immediately and logs who tried.
,hardban(user) [reason]
,hardban@raider ban evasion
Deletes the member’s last 7 days of messages — exactly like ,ban.
Placing a hardban requires being an antinuke admin (owner and antinuke admins only — the same gate as ,antinuke itself). It can’t be handed to other roles through the dashboard.
Lifting one: ,unban on a hardbanned id shows the confirm dialog only to antinuke admins. A regular moderator is told who to ask — their normal unbans keep working untouched.
The automatic re-ban on unban attempts uses 0 days of message deletion — the messages are long gone by then.
Hardban is an antinuke-tier weapon. Treat the antinuke admin list as the exact circle who may use it — ,antinuke admin @user manages that list (owner only).
Thread management
,thread manages threads and forum posts. Every subcommand accepts a thread by mention, id or (partial) name — or, run inside a thread, targets that thread with no name at all.
lock / unlock
,thread lock(thread) [reason]
,thread lock#help-thread resolved
e
exonToday at 2:13 PM
,thread lock #help-thread resolved
babes✓ APPToday at 2:13 PM
✔@exon: #help-thread locked — resolved
lock locks and archives — the thread is closed for everyone below Manage Threads.
unlock unlocks and un-archives in one step.
Locking an already-locked thread tells you instead of failing silently. Requires Manage Threads.
add / remove
,thread add(thread) (member)
,thread add#help-thread @exon
Adds or removes a member from a private thread. Inside a thread, ,thread add @exon is enough. Requires Manage Threads.
rename
,thread rename(thread) (new name)
,thread rename#help-thread solved-cache-issue
Renames a thread or forum post — up to Discord’s limit of 100 characters. Requires Manage Threads.
watch / watch list
,thread watch(thread)
,thread watch#rules-thread
watch is a toggle: a watched thread is revived the moment Discord (or anyone) archives it — it never auto-archives away.
Locked threads stay archived on purpose — a mod locking a watched thread clearly wants it closed; unwatch is the way to stop revival otherwise.
Watching an already-archived thread revives it immediately. Deleted threads clean themselves off the list.
,thread watch list shows everything currently watched. Requires Manage Channels.
Looking for ,remind? Reminders have their own page — see Reminders.
Server Configuration
Tickets
Button-based support tickets with panels, categories, claiming and transcripts.
Panels
A panel is the message members click to open a ticket. Build panels in the dashboard under Tickets: pick the channel the panel lives in, the category new tickets are created under, the support roles that can see them, and the panel text/embed. Multiple panels are supported — e.g. one for support, one for reports, one for applications.
The ticket flow
Member clicks the panel button — a private channel opens, visible to them and the support roles.
Staff handle the ticket; everything stays in one place.
Closing works via the button in the ticket or:
,ticketclose
,ticketclose
e
exonToday at 2:13 PM
,ticketclose
babes✓ APPToday at 2:13 PM
✔@exon: Ticket closed — transcript saved to the log channel
Visibility rules
Per panel you can hide tickets from specific roles or force them always-visible for others — useful for admin-only report panels.
Transcripts
Closed tickets can generate a transcript into your ticket log channel — a full record of the conversation for later reference.
Ticket support also works in DMs via DM support — members message the bot, staff answer from a channel.
Server Configuration
Roles
Assign, create and automate roles — from one-off grants to sticky, temporary and booster roles.
The role command
,role(@user) (role)
,role @exon Member
e
exonToday at 2:13 PM
,role @exon Member
babes✓ APPToday at 2:13 PM
✔@exon: Added Member to exon
,role is a dispatcher with powerful bulk subcommands — each its own card and toggle on the dashboard:
,role has (role) (add/remove) (role2) — bulk-edit everyone who has a role
,role all (role) — give a role to every member
,role humans (role) — humans only
,role bots (role) — bots only
Bulk operations respect the role hierarchy — babes’ role must be above every role it manages.
Special role types
,stickyrole (add/remove/list) — roles that automatically come back when a member rejoins
,temprole @user (role) (duration) — auto-removes itself after the duration (alias ,tr)
,boosterrole — personal custom roles for server boosters — own name & color
,boosterrole filter (word[, word2, …]) — blacklist words from booster role names (comma-separated); filter list and filter remove manage the list. Management subcommands (base, award, limit, filter, …) never require boosting.
,rolecreate (name) — quickly create a role (alias ,crole)
,clearrole (role) — remove a role from every member
Self-assignable roles
Reaction Roles and Button Roles let members pick their own roles. Build the message in the dashboard, attach roles to reactions or buttons, choose single-pick or multi-pick — done.
Roles on join
Give every new member (and/or every new bot) a set of roles the moment they join — configured under Greetings → Auto Roles in the dashboard.
Handing out roles with dangerous permissions? The antinuke’s dangerous_role_add module watches exactly that — see Antinuke.
Server Configuration
Levels
XP for activity, a MEE6-style rank card, level rewards and a public web leaderboard.
Earning XP
Members earn XP by chatting. XP gain has an anti-spam cooldown, an optional server-wide XP boost multiplier, and no-XP lists for roles and channels (mute XP farming in bot channels). All of it is configured under Levels in the dashboard.
Rank card
,rank[@user]
,rank
Shows rank, level and XP progress on a clean MEE6-style card — avatar, progress bar, rank and level. Aliases: ,level, ,lvl, ,xp. With Advanced Leveling enabled, the interactive level menu opens instead. A custom card background can be set per server.
Leaderboard
,levels links your server’s public web leaderboard — searchable, paginated, podium ranks in gold/silver/bronze for the top 3, and per-member progress bars. Share the link anywhere; no login needed.
Managing XP
,givexp @user (amount) — grant XP (aliases ,addxp, ,xpadd)
,removexp @user (amount) — take XP away (aliases ,takexp, ,rmxp, ,delxp)
e
exonToday at 2:13 PM
,givexp @exon 500
babes✓ APPToday at 2:13 PM
✔@exon: Gave 500 XP to exon
Level rewards
Grant roles automatically at level milestones — level 5 gets Active, level 20 gets Veteran, and so on. Role stacking can be on (keep all reward roles) or off (only the highest). Configured under Level Rewards in the dashboard.
Level-up announcements are configurable: in the channel, in a dedicated channel, via DM, or silent.
Server Configuration
Messages
Sticky messages, scheduled auto messages, auto responders and snipes.
Sticky messages
Pin a message to the bottom of a channel — babes reposts it after new messages so it always stays last. Perfect for rules reminders in busy channels, active giveaways or event notices. Configure per channel in the dashboard, with embed support.
Auto messages
Send messages on a schedule — every N hours or at fixed times — to any channel. Announcements, bump reminders, recurring event pings. Each auto message has its own schedule, channel and content.
Auto responder
,autoresponder(add/remove/list) (trigger) (reply)
,autoresponder add hello Hey there!
e
exonToday at 2:13 PM
,autoresponder add hello Hey there!
babes✓ APPToday at 2:13 PM
✔@exon: Auto-response for hello created
Triggers can match exact words or phrases; replies support variables and embeds. Great for FAQ answers ("how do I verify?") that fire instantly.
Snipes
,snipe — show the last deleted message in the channel
,editsnipe — show the last edited message (before/after)
,reactionsnipe — show the last removed reaction
,reactionhistory — reaction history of a message
,clearsnipe — clear the snipe cache
Snipes are stored briefly and per channel — they’re a moderation aid, not an archive. For permanent records use Logging.
Server Configuration
VoiceMaster
Join-to-create voice channels with a full button control interface.
How it works
Members join the creator channel and instantly get their own temporary voice channel — named after them, owned by them. When the last person leaves, the channel cleans itself up. No clutter, no dead channels.
The interface panel
The interface is a button panel members use to control their channel — no commands needed:
Lock / Unlock — control who can join
Hide / Reveal — remove the channel from the list entirely
Rename — give it a custom name
Limit — set a user cap
Claim / Transfer — take over an abandoned channel or hand yours off
Kick — remove someone from your channel
Setup
Enable VoiceMaster in the dashboard: pick the category, the creator channel and the channel where the interface panel is posted. Per-panel visibility rules let you hide custom channels from specific roles.
Music bots idling in empty custom channels are removed automatically to keep things tidy.
Server Configuration
Welcome
Greet new members and say goodbye — with full embed and variable support.
Welcome & goodbye messages
Configure both in the dashboard under Greetings: pick the channel, write the message, optionally build a rich embed with the visual embed creator. Variables are replaced live:
{user} — mentions the member
{username} — their name as plain text
{server} — the server name
{membercount} — the member count after joining
Join DMs
Optionally send new members a private welcome DM — rules, onboarding links, a personal hello. Same variables, same embed support.
Auto roles
Give every new member (or every new bot, separately) a set of roles on join. Combined with sticky roles, returning members keep their roles too.
Test your welcome message from the dashboard preview before going live — variables render exactly like the real thing.
Server Configuration
Giveaways
Button-entry giveaways with automatic winner draws.
Creating a giveaway
Create giveaways in the dashboard under Giveaways: prize, duration, number of winners, the channel, and optional role requirements (e.g. boosters only, level-10+ only). The giveaway posts as an embed with an entry button.
Entering & drawing
Members enter with one button click — no reactions, no commands, no double entries.
When the timer ends, winners are drawn and announced automatically with a ping.
Rerolls are available if a winner doesn’t claim.
Recent winners have a short win cooldown before they can win again — keeps giveaways fair for everyone.
Tips
Use role requirements to reward your community — booster-only drops are a great perk.
Pair a giveaway with a sticky message so it stays visible in busy channels.
Server Configuration
Logging
Everything that happens in your server, written down — punishments, messages, members, voice.
Mod log
Every punishment — ban, softban, hardban, kick, mute, warn, timeout — is posted to your mod log with a case number, the moderator, the target and the reason. Cases link back to the member’s full history.
Server logs
Each log type can go to its own channel:
Messages — edits and deletes, with before/after content
Members — joins, leaves, nickname and role changes
The antinuke and anti raid write their incidents to their own log — who triggered which module, what the punishment was, and what got reverted.
Set every log channel in the dashboard under Logging. Channels the bot can’t write to are flagged there.
Miscellaneous
Music
High-quality playback with player buttons and 24/7 mode.
Playing music
,play[next] (song | URL)
,play never gonna give you up
e
exonToday at 2:13 PM
,play never gonna give you up
babes✓ APPToday at 2:13 PM
✔@exon: Queued Never Gonna Give You Up — position 1
,play (song) — search & queue — links and playlists work too (alias ,p)
,play next (song) — jump the queue
,skip — skip the current track (alias ,sk)
,nowplaying — what’s playing right now (alias ,np)
The player
The now-playing message has buttons for pause/resume, skip, loop and volume — most listeners never need a command. The player follows the queue and updates itself.
24/7 mode
,247(subcommand) (args)
,247 set #music Never Gonna Give You Up
Keeps babes in a voice channel around the clock, replaying your configured track or playlist — lofi radios, community soundtracks, event music. Aliases: ,24-7, ,nonstop.
babes also keeps custom voice channels clean — idle music bots in empty channels are removed automatically.
Miscellaneous
Economy
Server currency, a role shop and casino games.
Currency
,balance — your coin balance (aliases ,bal, ,coins, ,points)
,give @user (amount) — transfer coins to someone (aliases ,pay, ,transfer)
The currency name is customizable per server — coins, credits, gems, whatever fits.
Shop
Sell roles and perks for coins. Items are managed in the dashboard; the shop post in your server updates itself whenever items change (,refreshshop forces it).
Casino
,coinflip (amount) — double or nothing
,dice (amount) — roll against the house
,roulette (amount) (bet) — red / black / numbers
,slots (amount) — spin the slots
,spin — spin the wheel (alias ,wheel)
e
exonToday at 2:13 PM
,coinflip 100
babes✓ APPToday at 2:13 PM
✔@exon: It’s heads — you won 100 coins!
Casino odds favor the house — that’s the point. Members gamble server coins, never anything real.
Miscellaneous
Crypto
Live market data and multi-chain transaction tools — no setup, no API keys.
Checking prices
,crypto(coin) [currency]
,crypto solana eur
Live price, market cap, daily change and daily high/low via CoinGecko — any coin CoinGecko knows, in over 20 fiat currencies. Aliases: ,coin, ,price.
Paste any transaction hash — the network is detected automatically and the result links the right block explorer (Etherscan, Blockstream, Solscan, …). Shown: confirmations, total value with USD, fee, sender, receiver and timestamp. Alias: ,tx.
Wallet lookup with auto-detected network — shows the balance in coin and USD plus the 30-day volume: how much was received and sent, and how many transactions. Works with EVM addresses (0x…), Bitcoin & co. (legacy, bc1…, ltc1…, D…, X…, t1…), Solana pubkeys and XRP. Aliases: ,addr, ,wallet.
Watching a transaction
,subscribe(hash)
,subscribe 0xcc45c054a6fb…
babes watches the transaction — on any supported chain — and pings you in the channel at its first confirmation. Checks run every 45 seconds for up to 12 hours; up to 3 watches per user.
Gas prices
,gas
,gas
Current Ethereum gas — Slow / Normal / Fast in gwei, each with the estimated USD cost of a plain transfer. Sourced live from the network’s fee history.
Miscellaneous
Statistics
Built-in StatsBot — who is active, where and when.
Personal stats
,me
,me
Your personal stats card — server rank, message count, voice time and your top channels, rendered as a clean image. Alias: ,stats. Use ,u @user for someone else’s card.
,members — growth chart: joins and leaves over the last 14 days
,messages — message activity — 1d / 7d / 30d with top members & channels
,voice — voice activity breakdown
,top — the activity leaderboard
Own prefix
Stats commands can run under their own prefix, separate from the main bot — so ,me never collides with another bot’s commands. Configure it under Statistics in the dashboard.
Tracking starts the moment babes joins — give it a few days for the charts to get interesting.