Documentation

Docs

Covers setup, permissions, and configuration Updated 26 July 2026

Everything here maps directly to what the bot actually does — the same thresholds and defaults that ship in the code. If a number looks different in your server, someone's changed it from the setup panel.

01 Quick start

  1. 1. Invite the bot — use the Add to your server button. Grant the Administrator permission when prompted; the anti-nuke and anti-raid systems need it to strip roles and lock channels mid-attack.
  2. 2. Run /setup — this opens the configuration panel inside Discord. Nothing else needs to happen for Anti-Spam, Anti-Raid, Anti-Nuke, and Anti-Compromise to be active — they're already running.
  3. 3. Set a log channel — inside the panel, click Log Channel and give it the channel where security alerts should post. Without this, actions still happen, you just won't see a record of them.
  4. 4. Turn on what you want — toggle the content filters, set a welcome/leave message, and configure tickets, all from the same panel.
Already have a server?

If Xristina is already in your server and you're not sure what's configured, run /setup again — it opens the current state, not a blank form.

02 Permissions explained

Xristina asks for broad permissions because her core job — stopping an attack mid-attack — requires them. Here's what each major permission is actually used for:

AdministratorLets her out-rank a compromised admin during a nuke, lock every channel during a raid, and manage roles/channels without hitting per-channel permission gaps.
Ban / KickUsed by anti-raid (new accounts), anti-nuke (the attacker), anti-bot (unauthorized bots), the blacklist, and the auto-warn ladder's final strike.
Manage ChannelsApplies slow-mode and lockdown during a raid, and reverses it once the wave passes.
Manage RolesStrips permissions from a nuker the moment the thresholds trip, applies the unverified role during verification, and removes temp roles automatically once they expire.
Manage MessagesDeletes spam, phishing links, zalgo text, and wall-of-text messages; powers the purge command.
Moderate MembersApplies timeouts — the 10-minute spam mute, the 1h/24h warn-ladder mutes, and the 28-day anti-compromise mute.
Message Content IntentRequired to read message text at all, so filters have something to check. See the Privacy Policy for how that content is handled.

If you'd rather not grant Administrator, the bot will still run, but any feature that needs a permission you didn't grant will silently fail for that one action — you'll see it in the log channel as an error rather than a completed action.

03 The setup panel

Run /setup in any channel. Discord will show a private panel only you can see, with buttons for each section:

Log ChannelPaste a channel ID (or pick from the list) to receive every security and moderation action.
Anti SystemsToggle Anti-Zalgo, Wall-of-Text, Anti-Phishing, and Anti-Link on or off per server.
Welcome / LeaveSet the channel and message shown when someone joins or leaves.
TicketsChoose the category new ticket channels are created under, and who can see them.

Changes save immediately — there's no separate "publish" step.

04 Commands

Confirmed core commands:

/setupOpens the configuration panel described above.
/helpLists every command currently registered in your server, including any added since this page was written.
/inviteGives you a shareable invite link to add Xristina to another server.
Moderation commands

Xristina also ships warning, purge, blacklist, and ticket commands (referenced throughout this page and driven by the config below), but exact command names can change as the bot is updated. Run /help in your server for the live, current list — it will always be more accurate than a static page.

05 Configuration reference

These are the shipped defaults. Every value below can be changed from the setup panel or by whoever maintains your instance of the bot.

Anti-Spam

SettingDefault
Message limit7 messages per 5 seconds
Duplicate limit4 repeated messages
Mention limit5 mentions per message
Caps threshold70% of a message, min. 10 characters
Emoji limit10 emojis per message
Invite linksBlocked
Punishment10 minute mute

Anti-Raid

SettingDefault
Join threshold10 joins per 10 seconds
New-account actionKick accounts younger than 7 days
Raid responseServer-wide lockdown
Lockdown slow-mode30 seconds, every channel
Auto-lift10 minutes after the last join

Anti-Nuke

SettingDefault
Detection window10 seconds
Ban threshold3 bans
Kick threshold5 kicks
Channel delete/create threshold2 deletes / 5 creates
Role delete/create threshold2 deletes / 5 creates
Webhook creation threshold3 webhooks
ResponseStrip permissions, then ban the nuker

Anti-Compromise

SettingDefault
Protected channelsAny channel name containing a "don't talk here" style phrase
Human response28-day mute (Discord's timeout maximum)
Bot responseSend permission removed in that channel

Anti-Bot

SettingBehavior
Unrecognized bot joinsKicked immediately, before the welcome message or anti-raid logic runs
Order of operationsChecked right after the blacklist, before anything else on join

Anti-Webhook

SettingBehavior
StartupEvery existing webhook in the server is fingerprinted and cached as "known"
New webhook createdFlagged immediately and counted toward the Anti-Nuke webhook threshold (3 per 10s)

Content filters

All four ship off — turn on what your server needs from /setup → Anti Systems.

FilterDefault state
Anti-Zalgooff
Wall-of-Textoff — trips past 15 newlines once enabled
Anti-Phishingoff
Anti-Linkoff

Other limits

SettingDefault
Purge max100 messages per command (Discord's hard limit)

06 The warning system

Warnings are cumulative per member, per server, and escalate automatically:

StrikeResult
1st warningLogged only — no punishment
2nd warningMuted 1 hour
3rd warningMuted 24 hours
4th warningPermanent ban

A member's warning count can be reviewed or cleared by staff — check /help for the exact command name in your server, since it isn't one of the three confirmed above.

07 Tickets

A member opens a ticket from a button you post; Xristina creates a private channel visible only to them and your staff. Closing it archives the transcript and removes the channel. Configure the category and staff visibility from /setup → Tickets.

08 Blacklist

Adding a user to the blacklist means:

Blacklist entries are per-server — being blacklisted in one server has no effect on any other.

09 Verification

When verification is enabled, new members are given an unverified role on join instead of full access. They pass a verify button and short form before that role is lifted.

10 AFK system

Mark yourself AFK and Xristina tracks it automatically:

11 Temp roles

Grant a role with an expiry and Xristina removes it on her own — no reminder needed from staff.

12 Reading the log channel

Every automated action posts an embed to your configured log channel with a colour matching what happened:

Spamorange
Raidred
Nukedark red
Compromisemagenta
Warningyellow
Moderationblue
OK / resolvedgreen

13 Troubleshooting

Xristina isn't deleting messages or applying mutes

Check her role is above the roles of the members she needs to act on, and that she has Manage Messages and Moderate Members. Discord silently blocks actions against higher or equal roles.

Slash commands aren't showing up

Global commands can take up to an hour to appear after the bot joins or restarts. Try leaving and rejoining Discord, or wait — no action needed on your end.

A lockdown didn't lift on its own

Auto-lift runs 10 minutes after the last join in the wave, not the first. A slow trickle of joins resets that timer. Staff can lift it manually — check /help for the command name.

A member was muted by mistake

False positives happen, especially with the caps and mention filters. Un-mute the member directly in Discord and consider raising the relevant threshold in /setup if it's a recurring pattern for your community.

14 FAQ

Is Xristina free?

Yes — no paid tier, no locked features.

Does she store the content of our messages?

No. Messages are checked against the filters in memory and discarded. See the Privacy Policy for the full breakdown of what is and isn't stored.

Can one server's blacklist affect another server?

No — blacklists are local to each server.

What happens while she's offline?

Your server is unprotected for that window. Nothing is retroactively actioned except the blacklist catch-up described above, which runs on reconnect.

Still stuck?

Ask in the support server — that's the fastest way to reach a real answer.