FedBot Documentation
Everything you need to configure, use, and run FedBot.
1. Getting Started
Prerequisites
You need a Discord server where you have the Manage Guild permission (or are the owner).
Inviting FedBot
Use the invite link from the FedBot website. The bot requires the bot and applications.commands scopes to function.
Opting In
After inviting the bot, run /fedbot config optin in your server. This enables your server for federation and crossban features. Only users with Manage Guild can run this.
First Steps
- Set a mod channel:
/fedbot config setmodchannel - Configure federation mode:
/fedbot federationmode set - Set minimum approval level:
/fedbot config setminimumlevel
2. Commands Reference
Config
/fedbot config optin— Enable federation for your server/fedbot config optout— Disable federation/fedbot config view— View current settings/fedbot config setmode— Set approval mode (manual/auto)/fedbot config setminimumlevel— Minimum moderator level for approvals/fedbot config setmodchannel— Channel for moderation alerts
Federation
/fedbot federationmode set— Set federation mode (audit/follow)/fedbot logchannel set— Set federation log channel/fedbot logchannel clear— Clear log channel
Trust
/fedbot trust add— Add a trusted guild (bilateral trust)/fedbot trust remove— Remove trusted guild/fedbot trust list— List trusted guilds
Pending Approvals
/fedbot pending list— List pending crossban requests/fedbot pending approve— Approve a request/fedbot pending deny— Deny a request
Risk
/fedbot risk— Look up risk score for a user/fedbot riskvisibility set— Set PRIVATE, PRIVATE_LOG, PUBLIC_SAFE, or PUBLIC_FULL/fedbot riskvisibility logchannel— Channel for private-log copies and risk alerts/fedbot riskperm grant— Grant risk lookup to a role/fedbot riskperm revoke— Revoke risk lookup/fedbot riskperm list— List roles with risk access
Other
/fedbot alert— Send federation alert/fedbot user— User info across federations/fedbot stats— Server statistics
Actions
/fedbot crossban— Ban a user (federation fanout triggered by ban event)/fedbot crossunban— Unban a user in this guild/fedbot crossbanglobal— Crossban and request global ban (L2 founders only)- Context menus: Right-click a user → Apps → Crossban or Crossunban
3. Federation
What is a Federation?
A federation is a shared moderation network. The L2 (founder) creates and owns the federation. L3 (follower) guilds join and receive propagation when the L2 bans a user.
Creating a Federation
Use the Dashboard: Federation → Create. You can configure name, description, invite-only mode, auto-propagate, and required confirmations.
Joining a Federation
L3 guilds submit a join request. The L2 owner approves or denies. Once approved, the guild receives crossban propagation from the federation.
Roles and Permissions
Federations use roles: OWNER, CROSSBAN, APPROVE_BAN, and others. You map Discord roles to federation roles so moderators can use crossban or approve bans without full owner access.
4. Crossban and Propagation
How Bans Spread
When you ban a user in your server (or submit a crossban), FedBot creates propagation requests to trusted guilds or federation followers. Each target guild can approve or deny.
Manual Mode
Each propagation creates a pending approval. Moderators use /fedbot pending list, approve, deny, or the Dashboard Approvals page.
Auto Mode
A governor limits auto-propagation with a token bucket. Too many auto-propagations in a short window suspends the source guild temporarily. This prevents abuse.
L3 Fanout
When an L2 founder bans a user, approval requests are created for all L3 follower guilds. Each L3 can approve or deny independently.
5. Risk Scoring
What It Measures
The risk engine evaluates: Account Profile (age, avatar, Discord badges), Username Pattern (structural scammer/spammer patterns), Federation History (cross-guild bans, denials, approvals), and Signal Intelligence (active wave behavior, observation coverage).
Risk Bands
- LOW — Score 0–14
- MEDIUM — Score 15–39
- HIGH — Score 40–74
- CRITICAL — Score 75+
Using Risk
Run /fedbot risk @user or use the Dashboard Risk page. Results are informational only — FedBot does not auto-ban based on risk.
Auto Risk on Join
Enable in Settings to automatically scan new members. Results can be sent to a log channel or kept ephemeral.
Risk Visibility
PRIVATE — Results are ephemeral (only the requester sees). PUBLIC — Results are posted to the configured log channel.
6. Dashboard
Login
Visit the Dashboard URL and log in with Discord OAuth2. If you have access to multiple guilds, you'll choose which one to manage.
Pages
- Overview — Stats, guild counts, pending items
- Cases — Ban history, case detail, export CSV
- Approvals — Pending crossban requests, approve/deny
- Federation — Create, manage, members, roles, blacklist, audit log
- Risk — User risk lookups
- Global Bans — L2 submit requests, L1 approve/deny
- Settings — Guild config, access, role permissions
Federation Management
From the Federation page you can create federations, invite L3 guilds, configure roles and Discord mappings, blacklist guilds, and view the audit log.
7. Permissions
- Manage Guild — Required for config, trust, opt-in, and most setup commands
- Federation roles — Per-federation: OWNER, CROSSBAN, APPROVE_BAN, etc. Mapped from Discord roles
- Risk lookup — Server owner, Manage Guild, or any role granted via
/fedbot riskperm grant
9. FAQ & Troubleshooting
Bot not responding to commands
Ensure the bot has been invited with the applications.commands scope. Slash commands may take a few minutes to sync globally. In dev, commands sync instantly to test guilds.
"Unknown interaction" (10062) errors
Discord requires a response within 3 seconds. If the bot is under load or the database is slow, the interaction can expire. This is usually transient.
Propagation not working
Check: (1) Both guilds have opted in. (2) Trust is configured or both are in the same federation. (3) In manual mode, approvals must be approved via pending list or Dashboard. (4) Governor may have suspended auto-propagation — wait for the window to reset.
Where to get help
Contact admin@fedbot.app for support.