Pre-launch test environment — payments use test credentials and data may be reset before launch.

// What you can run

Everything yourSunday nightactually needs.

Slot lists, room IDs, points tables, raid defence and a record when a team disputes — the jobs an Indian Discord organiser does every week, in one bot.

// Fill the lobby

Run your scrim
night in Discord

Open a lobby, fill the slot list, hand out room IDs, and reclaim seats when a team no-shows — without chasing DMs.

Slots

The slot list is the truth

Slots are assigned in arrival order and renumbered per lobby after grouping. When a Discord message and the slot list disagree, the slot list wins — and every points table carries the revision it was built from.

Scrims Slot allocation and the slot ledger
Room ID

Room IDs that stay out of chat

No channel-posted room ID. A pull-only Retrieve button shows the ID and password to the viewer who asked, with every reveal logged by lobby and time — the credential never rides in a message.

Scrims Room credential (IDP) management
No-shows

No-show rules that do not fire blind

Missed-match and no-show rules ship off by default, run dry-run or staff-confirm first, and unwind in the same step that corrects the result that triggered them.

Scrims Auto-ban engine (missed matches and no-shows)
Scale

Many lobbies, one server

Concurrent scrims stay isolated inside your Discord. A team cannot hold overlapping seats across lobbies, and a ban applies across the night so an 8 PM sanction cannot slip into the 9 PM lobby.

Scrims Multi-scrim concurrency and org-scale operations
// Survive the raid

Keep the server
safe mid-final

Anti-raid scoring, lockdown and incident records — because a nuked Discord mid-final is not a smaller problem than a wrong points table.

Anti-Raid

Score every joiner, not just the loud ones

No-avatar, account-age and join timing feed a server score. Thresholds flex for a published event’s signup rush, so a real registration wave is not treated as a raid.

Security Anti-Raid Join Scoring
Response

Pause invites before rewriting permissions

Raid response raises Discord’s own verification and pauses invites before permission overwrites. If a channel still needs a lock, the exact pre-lock state is saved so restore is exact, not a generic default.

Security Automatic Raid Response and Server Lockdown
Detection

Catch the coordinated raid

Message similarity, join timing and profile clustering across a cohort — the raid that passes one-by-one screening — with cohort action and a full false-positive rollback.

Security Userbot and Spam-Raid Detection
Incidents

One incident, one owner

Every detection becomes one incident with its events and evidence. Unacknowledged incidents escalate, and every automatic containment posts a one-click full revert.

Security Alerting, Incident Management and Escalation
// When a team disputes

A record you can
hand someone

Every important change is written down with who did it. Export the chain when you need to settle an argument — not a chat archaeology session.

Locked

Records that staff cannot quietly edit

Audit rows have no update or delete grant for the app role. A security event someone could rewrite is not evidence, so the guarantee lives in the database.

Audit rules Audit by default
Reads too

Who looked, not only who changed it

On the path that decides a published result — evidence, read-out, confirm, publish — views are logged alongside writes, because that store is the most sensitive in the product.

Results Audit trail across the pipeline
Exportable

One bundle, not a support ticket

A per-result export covers evidence, read-out, review and publication in one bundle. The audit survives even after the screenshot itself is purged.

Results Per-result chain-of-custody export
Checkable

If someone alters it, you can tell

The log itself is checkable. A regulatory or law-enforcement export is a named path, not something bolted on when the first request arrives.

Results Regulatory export
// End the name argument

Results by slot,
not a typed name

In-game names are messy Unicode. Scores bind to the slot for that match. Staff confirm before shaky evidence goes live.

Slots

The slot number is the key

Each match freezes its own slot-to-team binding at lobby lock. A name match can flag a problem, but it never assigns a scoreboard row to a team on its own.

Results Scores bind to the slot, not a typed name
Confirm

Nothing a screenshot read publishes itself

Screenshot reads and participant-submitted evidence sit behind a staff confirm. Manual staff entry and an authoritative feed are the only paths that skip that gate — confirming your own typing is theatre.

Results Confirmation gate on extraction-derived evidence
Disagreement

Two sources agreeing is not automatic truth

Agreement between captures raises confidence and reorders review attention — it never skips the confirm. A one-kill gap and a placement swap are treated as different problems.

Results Multi-source agreement and divergence
Disputes

A structured challenge, not chat drama

Disputes open against a specific field and value, inside a bounded window, with counter-evidence held to the same checks as the original — no fee to file.

Results Dispute intake against a published result
// Reach players without burning the bot

One queue for
every player DM

Room IDs, registration notes and moderation notices share one governed DM path. No feature is allowed to spam Discord’s DM endpoint on its own.

Queue

Credentials first, announcements last

Four priority lanes: credentials and tournament messages first, then security notices, then moderation, then bulk announcements — and bulk never sends during an active incident.

Moderation Central DM queue integration
Governed

No feature calls Discord DMs alone

No process builds its own Discord client for DMs. Everything goes through the queue — a feature that could skip it would be the one that eventually gets the fleet rate limited.

Platform The request governor
Egress

A shared address is a shared fate

Discord’s invalid-request ban is IP-scoped, not token-scoped: enough bad requests ban the source address for everyone sharing it. Paid tiers sit in shared cohorts of 25; quarantine is free. There is no dedicated address at any price.

DM safety Egress cohorts and quarantine
Ceiling

Your own bot, your own ceiling

From Scrim upward every organisation runs a dedicated Discord application (pool claim by default), so the DM allowance is a conservative fraction of that token’s own throughput — never a slice divided across every Free server on a shared bot.

Plan ladder Your own bot, your own ceiling

// Next

Sign in with Discord to get started.