01 Quick start
- 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. 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. 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. Turn on what you want — toggle the content filters, set a welcome/leave message, and configure tickets, all from the same panel.
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:
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.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
| Setting | Default |
|---|---|
| Message limit | 7 messages per 5 seconds |
| Duplicate limit | 4 repeated messages |
| Mention limit | 5 mentions per message |
| Caps threshold | 70% of a message, min. 10 characters |
| Emoji limit | 10 emojis per message |
| Invite links | Blocked |
| Punishment | 10 minute mute |
Anti-Raid
| Setting | Default |
|---|---|
| Join threshold | 10 joins per 10 seconds |
| New-account action | Kick accounts younger than 7 days |
| Raid response | Server-wide lockdown |
| Lockdown slow-mode | 30 seconds, every channel |
| Auto-lift | 10 minutes after the last join |
Anti-Nuke
| Setting | Default |
|---|---|
| Detection window | 10 seconds |
| Ban threshold | 3 bans |
| Kick threshold | 5 kicks |
| Channel delete/create threshold | 2 deletes / 5 creates |
| Role delete/create threshold | 2 deletes / 5 creates |
| Webhook creation threshold | 3 webhooks |
| Response | Strip permissions, then ban the nuker |
Anti-Compromise
| Setting | Default |
|---|---|
| Protected channels | Any channel name containing a "don't talk here" style phrase |
| Human response | 28-day mute (Discord's timeout maximum) |
| Bot response | Send permission removed in that channel |
Anti-Bot
| Setting | Behavior |
|---|---|
| Unrecognized bot joins | Kicked immediately, before the welcome message or anti-raid logic runs |
| Order of operations | Checked right after the blacklist, before anything else on join |
Anti-Webhook
| Setting | Behavior |
|---|---|
| Startup | Every existing webhook in the server is fingerprinted and cached as "known" |
| New webhook created | Flagged 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.
| Filter | Default state |
|---|---|
| Anti-Zalgo | off |
| Wall-of-Text | off — trips past 15 newlines once enabled |
| Anti-Phishing | off |
| Anti-Link | off |
Other limits
| Setting | Default |
|---|---|
| Purge max | 100 messages per command (Discord's hard limit) |
06 The warning system
Warnings are cumulative per member, per server, and escalate automatically:
| Strike | Result |
|---|---|
| 1st warning | Logged only — no punishment |
| 2nd warning | Muted 1 hour |
| 3rd warning | Muted 24 hours |
| 4th warning | Permanent 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:
- They're kicked immediately if they're already in the server.
- They're kicked on sight if they try to rejoin.
- If the bot was offline when they joined, she checks every guild's blacklist against its member list the moment she reconnects, and kicks anyone found.
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.
- Runs after the anti-bot and blacklist checks, so a rejected bot or a blacklisted user never sees the verify prompt at all.
- Keeps raid waves and unverified accounts away from real channels until a human confirms they're there.
- Configured per server — ask in
/helpfor the exact command if it isn't in your setup panel yet.
10 AFK system
Mark yourself AFK and Xristina tracks it automatically:
- Anyone who @mentions you while you're AFK gets a note that you're away.
- The moment you post any message again, your AFK status is cleared automatically — no command needed to come back.
11 Temp roles
Grant a role with an expiry and Xristina removes it on her own — no reminder needed from staff.
- A background check runs every 60 seconds across every server, comparing each temp-role entry's expiry time against the clock.
- When one is due, the role is removed and the removal is posted to your log channel with the user, the role, and the original reason.
12 Reading the log channel
Every automated action posts an embed to your configured log channel with a colour matching what happened:
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.