Skip to content

Why BonkerBot ​

An honest comparison against Wick, Lum's Scam Shield, Beemo, Security Bot, and Discord's built-in AutoMod.

Short version: the popular "security bots" defend the perimeter β€” who gets in, and who can wreck the server once they're in. BonkerBot defends the conversation β€” what a message actually says, shows, and links to, and whether the person saying it has earned any benefit of the doubt. Those are different jobs. If you already run Wick, BonkerBot is not a replacement for it.


What each of these actually is ​

Bot names get thrown around as if they're interchangeable. They aren't. They occupy four distinct categories:

BotReal categoryDesign center
WickAnti-nuke / anti-raidHeat algorithm on actions: channel deletes, role perms, mass bans, webhooks. Panic mode + backup/restore. Join gate + CAPTCHA.
Security BotAnti-nuke / anti-raidSame category as Wick. Action limits, "Beast Mode" escalation, three verification flavors, permissionless mod roles.
BeemoUserbot raid killerOne job, zero config: 50 accounts join in 3 seconds, fingerprint them, mass-ban. Global raider list.
Discord AutoModNative keyword/link filterUp to 6 keyword rules Γ— 1000 keywords, 10 regexes per rule, plus Discord's own known-bad-domain list. Text only.
Lum (Scam Shield)Scam content detectionThe closest real comparison. Weighted keyword/regex score, ~45 hardcoded grabify/shortener domains, WHOIS domain-age check, SHA-256 image hashes, cross-post detection, cross-server ban propagation.
BonkerBotScam content detection + reputationMulti-signal evidence scoring with a corroboration floor, OCR + perceptual image hashing, local similarity matching against confirmed samples, graduated global trust score, community training loop, appeals.

Wick's own feature documentation covers anti-nuke, heat-based automod, verification, join gate, and join raid. Scam and phishing detection is not a headline of that documentation β€” malicious links are one input among many into the heat score, not a semantic analysis of what the message is trying to do to your users.


The four things BonkerBot does that none of the others do ​

1. Reputation is graduated, not binary ​

Every other bot on this list produces a boolean: banned, or not banned. Beemo has a global raider list; Lum can propagate a ban across mutual servers. Both are one-bit verdicts.

BonkerBot carries a global trust score from 0.0 to 10.0 that follows a user across every protected server. It's velocity-capped (max βˆ’3.0 automated drop per 24h, max +1.0 non-system gain per 24h), it recovers passively at 0.1/month up to 7.0, and it takes an extra penalty when a user is flagged in three or more independent servers. Servers set their own thresholds for warn/mute/kick/ban against that score.

Why it matters: a binary list has no way to express "this account is behaving oddly but hasn't done anything bannable." A graduated score lets a marginal signal register without destroying anyone, and lets an account climb back out. It also means the third server a scammer hits already knows something the first two learned β€” without either of them having issued a ban.

2. No single detector can act alone β€” and priors can't invent evidence ​

detectionScoring.ts enforces two rules that keyword-score bots structurally cannot:

Corroboration. Every analyzer contributes a bounded signal (capped, conventionally ≀0.6). No detector can cross the auto-action threshold by itself; that requires at least one other independent signal agreeing. A keyword-sum bot has no such floor β€” enough points from one weak source is indistinguishable from real evidence.

Evidence vs. priors. Evidence is intrinsic to the message: what it says, links, or shows. A prior is extrinsic: who posted it, when they joined, where they came from. Priors may only sharpen existing evidence, up to a bounded ceiling. With zero intrinsic evidence, the score is zero β€” no matter how many priors fire.

This is the rule that stops "new account posted 14 seconds after joining" from being treated as a scam. It's also the exact failure mode of every score-summing filter: Lum's Scam Shield awards points for terms like free, money, nitro, and $, so a legitimate new member asking whether the server has free emotes accumulates score from words alone. BonkerBot cannot reach an action threshold on vocabulary plus circumstance.

3. It reads images, and it learns ​

Discord's AutoMod cannot scan images or attachments at all. Lum hashes attachments with SHA-256 β€” which catches the byte-identical repost and nothing else; re-encode the JPEG or shift one pixel and the hash is unrelated.

BonkerBot runs Tesseract OCR with sharp preprocessing over image attachments, so the text inside a screenshot scam is checked like any other text, and stores perceptual hashes so a re-cropped, re-compressed, or lightly-edited version of a known scam image still matches. Above that sits an opt-in similarity layer: a message is compared mathematically against scams already confirmed by moderators, so a reworded variant still resembles its own family. Confident matches resolve there; only ambiguous ones (0.3–0.6 similarity) escalate to a second local model. Both run on your own hardware via @huggingface/transformers and node-llama-cpp β€” no third-party API, no message content leaving the box. The layer is capped at 0.45 in the scoring config against an action threshold of 0.7, so it can corroborate evidence but can never trigger an action by itself.

And the corpus grows: confirmed scams feed patternLearner.ts, which extracts keywords and n-grams into learned rules, gated by tiered trainers (Core Trainers auto-accept; server owners with 500+ members submit for review). AutoMod's blocklist is whatever you typed into it last month. Lum's term list is a constant in a Java file β€” updating it means a code change and a redeploy.

4. Due process is built in ​

Confirmed scam actions are wrong sometimes. Every bot on this list assumes otherwise.

BonkerBot ships /appeal, mod-review embeds with Confirm/Dismiss/Escalate/Add Note, undo buttons on every automated action, an AuditLog row for every moderation/trust/admin action, a TrustScoreHistory row for every score change, an emergency kill switch that disables all auto-actions instantly, and /privacy for user-initiated data export and deletion. It also distinguishes a compromised established account from a fresh scam account (accountClassifier.ts) and treats them differently β€” a hijacked five-year-old account gets a temporary action, not a permanent global mark.


It cooperates with Discord AutoMod instead of competing with it ​

automodSync.ts pushes learned rules and blocked domains into your server's native AutoMod rules. Discord's filter runs at the platform edge, before the message ever reaches a bot β€” it's faster and cheaper than anything a bot can do. BonkerBot's job is to figure out what belongs in that list, then keep it current automatically. Nobody else on this list feeds the native system; they all route around it.


Feature matrix ​

BonkerBotWickLumBeemoAutoMod
Anti-nuke (perms/webhooks/mass-delete)βœ—βœ“βœ“βœ—βœ—βœ—
Server backup & restoreβœ—βœ“βœ—βœ—βœ—
CAPTCHA / verification gateβœ—βœ“partialβœ—βœ—
Mass userbot raid banpartialβœ“βœ“βœ—βœ“βœ“βœ—
Join-spam / coordinated-join detectionβœ“βœ“βœ—βœ“βœ“βœ—
Keyword / regex text rulesβœ“βœ“βœ“βœ—βœ“
Known-bad-domain blocklistβœ“βœ“βœ“βœ—βœ“
Typosquat detection (edit distance)βœ“βœ—βœ—βœ—βœ—
Domain age / WHOIS checkβœ—βœ—βœ“βœ—βœ—
Image OCRβœ“βœ—βœ—βœ—βœ—
Exact image hashβœ“βœ—βœ“βœ—βœ—
Perceptual image hashβœ“βœ—βœ—βœ—βœ—
Local similarity matchingβœ“βœ—βœ—βœ—βœ—
Multi-signal corroboration requirementβœ“βœ—βœ—βœ—βœ—
Graduated cross-server reputationβœ“βœ—βœ—βœ—βœ—
Cross-server enforcementβœ“βœ—βœ“βœ“βœ—
Campaign clusteringβœ“βœ—βœ—βœ—βœ—
Community training pipelineβœ“βœ—βœ—βœ—βœ—
Appeals systemβœ“βœ—βœ—βœ—βœ—
Writes rules into native AutoModβœ“βœ—βœ—βœ—n/a
User data export / deletionβœ“βœ—βœ—βœ—n/a
Open sourceMITβœ—CC BY-NC-SApartialn/a
Self-hostableβœ“βœ—βœ“ (only)βœ—n/a
Costfreefree + $5.99/mo premiumfreefreefree

partial = related capability exists but isn't the same thing. Wick and Security Bot occupy the same column for these purposes; Security Bot's premium starts around $3.49/mo.


Where BonkerBot is genuinely worse ​

Skip this section and the rest of the document is marketing.

No anti-nuke. A rogue admin nuking your channel list is a real threat, and BonkerBot does nothing about it. Wick's heat algorithm, panic mode, and restore system have no equivalent here. This is the single biggest reason to run Wick and BonkerBot rather than choosing.

No backups, no CAPTCHA gate, no verification flow. Not built, not planned as a priority.

Unproven. Wick reports ~837,000 servers. Beemo's algorithm is trained on years of real raid data. BonkerBot is at v1.0.0 with 36 test files and no production track record. Detection quality claims in this document are architectural, not empirical β€” the design refuses to act on a single weak signal, but nobody has yet watched it run against 800k servers' worth of adversarial traffic.

Operationally heavier. It needs PostgreSQL, Node 20+, the MESSAGE_CONTENT and GUILD_MEMBERS privileged intents, and β€” if you enable the similarity layer β€” real CPU and a few GB of RAM for local models. Wick is an invite link.

Message content intent is a real ask. Checking message content is the price of detecting a scam by what it actually is rather than by which link it contains. Messages that match nothing are dropped in memory rather than stored, nothing is sent to a third-party API, and no bot on Discord can see DMs between two people β€” but the intent is still granted, and some communities will not accept that on principle. AutoMod does it at the platform level for free and Beemo does not need it at all. If that is your community, this is not the tool.

Cross-server trust is a shared-fate decision. A global score means a mistake in one server propagates. That's the point, and it's mitigated by velocity caps, corroboration requirements, appeals, and undo β€” but it's a real tradeoff, not a free lunch.


What to actually run ​

Small-to-mid community, scams are the problem: BonkerBot + native AutoMod. That's the case it was built for.

High-profile server, nuking and raiding are the problem: Wick or Security Bot, plus Beemo. BonkerBot doesn't cover that threat model.

Both problems (most servers past a few thousand members): Wick for the perimeter, Beemo for raid floods, BonkerBot for message content and reputation. They don't overlap enough to conflict β€” different events, different actions, different data.

Modding / VRChat-adjacent community already on Lum: Lum's Scam Shield and BonkerBot solve the same problem with different philosophies. Lum is a weighted term list plus cross-ban, self-host only, and its rules are constants in source. BonkerBot is multi-signal with a corroboration floor, reads images, learns from confirmed reports, and lets accused users appeal. If Lum's false-positive profile is fine for you, its lighter operational footprint is a legitimate reason to stay.

You don’t trust a third party with your members’ messages: BonkerBot is open source and self-hostable, and every part of the pipeline runs locally β€” no message content is sent to any external API. Wick, Security Bot, and Beemo are closed hosted services. Note that the scam pattern library is not published, so a self-hosted instance brings its own rules and is not on the shared trust network.


Sources ​

The bot is open source; the scam pattern library is not. BonkerBot is not affiliated with Discord Inc. β€” Terms Β· Privacy