BonkerBot โ AI Scam Training Guide โ
A practical guide for server admins and moderators on using BonkerBot's training system to combat AI-related scam messages on Discord.
Table of Contents โ
- Overview
- Prerequisites & First-Time Setup
- Understanding AI Scams on Discord
- How to Train: Step-by-Step
- How to Mark False Positives
- Reviewing & Managing Rules
- How Detection Confidence Works
- AI Detection Module
- Best Practices
- Quick Reference
Overview โ
BonkerBot has a community-driven training system that lets moderators teach the bot to recognize new scam patterns โ no code changes required. When you right-click a scam message and submit it as a training sample, the bot:
- Extracts patterns โ Breaks the message into n-grams (2โ3 word sequences) and keywords
- Creates detection rules โ Each pattern becomes a
LearnedRulein the database with a starting confidence score - Uses them in future scanning โ The next time a message matches those patterns, it contributes to a detection score
- Refines over time โ Every time a mod confirms or dismisses a flagged message, the matching rules get a confidence boost or penalty
The more training samples the bot receives for a particular scam type, the higher confidence its rules become, and the more likely it is to auto-act on future variants. This guide focuses on using this system to combat AI-related scam messages, which have become one of the most common spam vectors on Discord.
Prerequisites & First-Time Setup โ
Before you can train the bot, your server needs a few things configured.
1. Set a Mod Channel (Required) โ
This is where the bot posts mod review embeds when it detects something.
/botconfig modchannel #mod-alertsWithout this, the bot has nowhere to send detection alerts. Reports and training submissions will still work, but mods won't see review embeds.
2. Enable Text Analysis (Should be on by default) โ
/botconfig modules action:Enable module:Text Analysis3. Optional: Enable Auto-Delete โ
Automatically deletes messages that hit the auto-action threshold (0.7+ confidence):
/botconfig autodelete enabled:True4. Optional: Set Up a Log Channel โ
Separate from the mod channel โ this is where action logs (mute/kick/ban with undo buttons) are posted:
/botconfig logchannel #action-logs5. Trainer Access โ
Not everyone can submit training samples. Here's who can:
| Tier | How You Get It | What Happens on Submit |
|---|---|---|
| Bot Owner | BOT_OWNER_ID env var | Auto-accepted, learning triggered immediately |
| Core Trainer | Added by bot owner via /admin trainer-add @user | Auto-accepted, learning triggered immediately |
| Elevated Trainer | Accumulate 20+ accepted samples with <10% reject rate | Submission goes to pending review |
| Loose Trainer | Own a server with 500+ members where the bot is present | Submission goes to pending review |
If you're a server admin but not a trainer, ask the bot owner to grant you Core Trainer access.
Understanding AI Scams on Discord โ
The Core Distinction: Talking About AI vs. Selling AI โ
People talk about AI constantly on Discord โ and that's completely fine. The signal you're looking for isn't the topic (AI, models, automation), it's the intent behind the message. Here's the mental model:
| Intent | Example | Scam? |
|---|---|---|
| Discussing AI as a subject | "I've been experimenting with fine-tuning LLaMA, the results are mid" | No |
| Asking for help with AI | "Anyone know how to fix CUDA OOM errors with a 7B model?" | No |
| Sharing a project or open-source tool | "I open-sourced my Discord bot that uses Whisper for transcription, here's the repo" | No |
| Promoting themselves as an AI expert/service | "I'm an AI engineer, DM me if you want to collaborate" (unsolicited) | Yes โ self-promo spam |
| Selling an AI product or service | "My AI tool can 10x your productivity, link in bio" | Yes โ fake service |
| Baiting with AI as a hook | "You should try using AI, I did X in one night" (vague, no specifics) | Likely โ soft bait for follow-up scam |
| Recruiting for an AI scheme | "We need beta testers for our AI platform, DM to join" | Yes โ phishing/data harvesting |
The key signals that turn an AI message from "conversation" into "scam":
- Unsolicited self-promotion โ Nobody asked, but they're listing credentials or offering services
- Call-to-action pointing to DMs โ "DM me", "message me", "add me" โ moves the interaction away from mod oversight
- Vague but impressive claims โ "multi-agent systems", "intelligent automation", "real-world AI infra" โ sounds sophisticated but says nothing concrete
- No engagement with the community โ They didn't read the channel, respond to anyone, or contribute to an existing conversation. The message is a broadcast, not a reply
- Urgency or scarcity โ "First come first serve", "limited spots", "only 5 beta testers"
- Promise of dramatic results โ "I did it in one night", "10x your productivity", "guaranteed results"
- Cross-server repetition โ The same message (or near-identical variants) appears across multiple servers
A legitimate AI enthusiast talks with the community. A scammer talks at the community.
Known AI Scam Patterns โ
Type 1: AI Hustle / Credential Spam โ
Category: SPAM | Train? Yes
Long, unsolicited messages where someone drops into a server claiming to be an "AI & full-stack engineer" or similar, lists a wall of impressive-sounding credentials, and ends with a soft call-to-action.
What it looks like:
Hey everyone! ๐ I'm an AI & full-stack engineer. I mostly work on intelligent automation, multi-agent systems, evaluation pipelines, and real-world AI infra. [...several paragraphs of credentials...] If anyone wants to collaborate, exchange ideas, or just talk AI systems, feel free to ping me anytime. Always happy to chat ๐ค
Why it's a scam: Nobody in the server asked. The message reads like a LinkedIn post, not a conversation. The goal is to farm DMs from people who bite on the "collaborate" hook โ the follow-up is usually a pitch for paid services, a phishing link, or a crypto scheme.
What makes it different from a legit introduction: A real person joining a community introduces themselves in the context of the server's topic, asks questions, or responds to existing threads. They don't paste a resume into #general.
BonkerBot note: The built-in AI_HUSTLE rule catches some of these, but it requires 2+ pattern matches and starts at only 0.5 confidence. Training on specific variants significantly boosts detection.
Type 2: AI Service / Tool Promotion โ
Category: FAKE_SERVICE | Train? Yes
These messages promote a specific AI tool, bot, platform, or service โ usually something the poster claims to have built. The pitch is designed to get users to click a link, download something, or hand over information.
What it looks like:
๐ Just launched my AI assistant bot that can moderate your server, generate content, and manage your community automatically. It uses GPT-4 and it's completely free during beta! Add it here: [link]
I built an AI tool that automates [vague task]. Looking for beta testers โ DM me your email to get early access!
Why it's a scam: The "bot" or "tool" is either malware, a token-harvesting bot, or a data-collection front. Legitimate developers share source code, documentation, and don't need your email to give you access to a Discord bot.
Red flags:
- Claims a bot/tool is "free during beta" (pressure to act now)
- Asks for DMs, emails, or personal info to "get access"
- Links to unknown domains rather than GitHub or established platforms
- Promises unrealistic capabilities ("fully automated server management")
Type 3: AI Course / Mentorship Push โ
Category: SPAM or FAKE_SERVICE | Train? Yes
Offers to teach AI/ML skills, usually targeting beginners. May be a paid course pitch disguised as helpful advice, or a funnel into a larger scheme (crypto, MLM).
What it looks like:
Want to learn AI/ML but don't know where to start? I've been building AI systems for 5 years and I'm offering free 1-on-1 mentorship. Just DM me to get started ๐
I put together a free AI course that covers everything from basics to deploying models in production. Link: [suspicious domain]
Why it's a scam: Legitimate AI education exists on YouTube, Coursera, fast.ai, etc. โ nobody needs to cold-pitch mentorship in random Discord servers. The "free course" link leads to credential harvesting, and the "mentorship" leads to a paid upsell or crypto pitch.
Type 4: AI Trading / Crypto Prediction Bot โ
Category: CRYPTO | Train? Yes
Combines AI hype with crypto/finance scams. Claims an AI model can predict market movements, trade automatically, or generate passive income.
What it looks like:
My AI trading bot made 340% returns last month. It uses machine learning to predict crypto movements in real-time. Join my Discord for signals: [invite link]
๐ค AI-powered crypto predictions โ 95% accuracy. Free trial, DM for access.
Red flags:
- Specific claims about returns or accuracy percentages
- "Free trial" or "limited spots" urgency
- Directs to external Discord servers or Telegram groups
- Promises passive income or "set and forget" returns
Type 5: Fake Giveaway Bait โ
Category: FAKE_SERVICE | Train? Yes
Not strictly AI-themed, but very common in tech/AI-adjacent communities. Offers free hardware or expensive items, using @everyone pings and urgency language to drive DMs.
What it looks like:
Hello. @everyone I want to give out my MacBook Air 2021 & Charger for free, it's in perfect health and good as new [...] Strictly First come first serve! DM IF YOU ARE INTERESTED
Why it's a scam: No stranger gives away expensive hardware to Discord randos. The DM follow-up asks for a "shipping fee" payment, personal info, or sends a phishing link.
Red flags:
- @everyone ping in a server they just joined
- "Free" expensive item with no catch mentioned
- "First come first serve" urgency language
- "DM IF INTERESTED" โ moves to unmoderated DMs
- Account recently joined the server
Type 6: Soft AI Endorsement Bait โ
Category: SPAM | Train? No โ report instead
Short, casual-sounding messages that recommend "trying AI" and claim dramatic results. Designed to feel like organic conversation, but they're bait for a follow-up DM.
What it looks like:
@User I think you should try using AI to improve your efficiency. I tried it and brought [project name] to [platform] in just one night.
Why it's tricky: This is the hardest type to detect because the actual words are benign. The scam isn't in this message โ it's in the DM that follows. The message itself is just the hook.
Why you should NOT train on this type directly: These messages use common words that appear in legitimate AI discussions. Training the bot on them would generate n-gram rules like try using AI or improve your efficiency that would create false positives in tech-focused servers.
What to do instead:
- Use "Report Message" (available to everyone) to flag it for mod review
- Let a moderator manually confirm or dismiss it
- Only train on it if you see the exact same message repeated across multiple users/servers โ at that point the repetition itself is the signal
Type 7: AI Job / Recruitment Scams โ
Category: PHISHING | Train? Yes
Fake job postings or recruitment messages targeting people interested in AI/ML. The "application" collects personal data or leads to a phishing page.
What it looks like:
๐ข We're hiring remote AI engineers! $150kโ$250k, fully async. No experience needed, we'll train you. Apply here: [link]
Looking for AI prompt engineers to join our startup. Part-time, $50/hr. Fill out this form to apply: [Google Forms link asking for SSN, bank info, etc.]
Red flags:
- Salary ranges that are too good to be true
- "No experience needed" for a technical role
- Application links to non-company domains
- Asks for financial or identity information upfront
Legitimate AI Discussion โ What NOT to Flag โ
These are examples of normal, healthy conversation that should never be trained as scam:
- "Has anyone tried running Stable Diffusion locally? My VRAM keeps running out"
- "I fine-tuned a model on our server's FAQ and it actually works pretty well for answering questions"
- "The new Claude model is way better at coding than the last one, here's a comparison"
- "I'm working on a RAG pipeline for my thesis, any tips on chunking strategies?"
- "Just pushed my AI Discord bot to GitHub if anyone wants to check it out: github.com/user/repo" (links to a real repo with source code)
- "I built a tool that does X" in response to someone asking for help with X (context-appropriate, not unsolicited)
If BonkerBot flags any of these, use the Dismiss button on the mod review embed to clear the false positive
How to Train: Step-by-Step โ
Training a Message as Scam โ
Find the scam message in your server
Right-click the message (or tap and hold on mobile)
Go to Apps โ "Train as Scam"
A modal appears with three fields:
Field What to Enter Required Category One of: phishing,crypto,impersonation,fake_service,malware,spam,raid,otherYes Notes Context about why this is a scam โ helps other trainers understand your reasoning No Severity low,medium,high, orcritical(defaults tomedium)No Click Submit
What happens next:
Core Trainers / Bot Owner: The sample is immediately accepted. The bot extracts n-grams from the message, creates or boosts
LearnedRuleentries, and extracts any URLs into the blocked domain list. You'll see:โ Training sample accepted and added to the detection system. ID: #42 | Category: SPAM | Severity: HIGH
Elevated / Loose Trainers: The sample goes to
PENDINGstatus and waits for a Core Trainer or Bot Owner to review it via/admin review. You'll see:๐ Training sample submitted for review by a core trainer. ID: #42 | Category: SPAM | Severity: HIGH
Category Recommendations for AI Scams โ
| Scam Type | Recommended Category | Recommended Severity |
|---|---|---|
| AI hustle / credential spam | spam | medium or high |
| AI tool / bot / platform promo | fake_service | high |
| AI course / mentorship pitch | spam or fake_service | medium |
| AI trading / crypto prediction | crypto | high |
| Fake giveaway (MacBook, GPU, etc.) | fake_service | high |
| AI job / recruitment scam | phishing | high |
| "Download my AI tool" + executable | malware | critical |
| Generic AI self-promo spam | spam | medium |
How to Handle False Positives โ
If the bot flags a legitimate AI discussion as a scam (e.g., someone genuinely talking about their ML project), use the Dismiss button on the mod review embed.
What happens when you dismiss:
- The report is marked as dismissed
- The target user's trust score is partially restored
- Rule confidence is weakened via negative feedback, reducing future false positives
When to dismiss:
- A legitimate AI developer introduces themselves and gets flagged
- A tech discussion about automation or LLMs triggers the
AI_HUSTLErule - Someone shares a real open-source project link that hits a pattern match
When NOT to dismiss:
- You're unsure whether it's a scam โ leave it for other moderators to review
- The message is borderline โ better to leave it for manual review
Reviewing & Managing Rules โ
Reviewing Pending Training Samples โ
Core Trainers and the Bot Owner can review pending submissions:
/admin reviewThis shows up to 5 oldest pending samples with: ID, category, severity, who submitted it, and a content preview.
To accept (triggers pattern learning):
/admin accept id:42To reject:
/admin reject id:42Rejections increment the submitter's reject count. Too many rejections (10%+ reject rate) prevent Loose Trainers from being promoted to Elevated Trainer.
Viewing Learned Rules โ
/admin rules-listShows up to 20 learned rules with:
- Status โ Active or Inactive
- Type โ
KEYWORD(scam detection) orSAFE(false-positive suppression) - Confidence โ Current score (higher = more certain). Rules start at 0.35โ0.45 and adjust over time
- Source Count โ How many training samples contributed to this rule
- Category โ The scam category from training
- Hit Count โ How many times this rule matched a message in production
- Pattern โ The regex pattern (preview)
Toggling Rules On/Off โ
If a rule is causing false positives, you can disable it:
/admin rules-toggle id:15This is reversible โ run the same command again to re-enable.
Understanding Rule Graduation โ
Rules that reach all three thresholds are marked as graduationReady:
- Confidence โฅ 0.80
- Source count โฅ 3 (trained on 3+ different samples)
- Hit count โฅ 10 (matched 10+ messages in production)
Graduated rules are stable and well-tested โ they're candidates for being promoted to hardcoded rules in future bot updates.
Using the Mod Review Embed โ
When the bot detects something (or receives a report), it posts a mod review embed in your mod channel with four buttons:
| Button | What It Does |
|---|---|
| โ Confirm Scam | Marks as confirmed, applies trust penalty to the user, boosts confidence of matching rules |
| โ Dismiss | Marks as dismissed, restores some trust to the user, reduces confidence of matching rules (false-positive feedback) |
| โฌ๏ธ Escalate | Sets severity to CRITICAL, keeps the report open for further review |
| ๐ Add Note | Opens a modal to attach context to the report for other mods |
This feedback loop is critical. Every confirm/dismiss trains the system:
- Confirming boosts matching rule confidence by +0.05
- Dismissing reduces matching rule confidence by -0.10
- Rules that drop to โค0.10 confidence are automatically deactivated
How Detection Confidence Works โ
Understanding thresholds helps you know why some messages get auto-actioned and others only get flagged.
Threshold Levels โ
| Confidence | What Happens |
|---|---|
| < 0.3 | Detection discarded โ not worth logging |
| 0.3 โ 0.49 | Logged as LOW severity, report created for review |
| 0.5 โ 0.69 | MEDIUM severity, flagged for mod review |
| 0.7 โ 0.89 | HIGH severity, auto-action triggered (warn/mute depending on config) |
| 0.9+ | CRITICAL severity, escalated auto-action |
How Signals Combine โ
The bot runs four detection modules in parallel on every message:
- Text analysis (pattern matching โ hardcoded + learned rules)
- Link analysis (URL/domain checks)
- Image OCR (text extraction from images)
- Join-spam detection (timing-based)
When multiple modules return results, the highest confidence is used as the base, and the other results contribute at 50% weight, capped at 1.0 total.
Example: A message triggers the AI_HUSTLE text rule at 0.5 confidence AND contains a blocked domain link at 0.6 confidence. The aggregate: 0.6 (highest) + 0.5 ร 0.5 (other at half weight) = 0.85 โ enough for auto-action.
This is why training on AI scam text matters even if the text rule alone doesn't hit 0.7: it combines with other signals to push the aggregate over the auto-action threshold.
AI Detection Module โ
BonkerBot includes an optional hybrid AI detection module that uses machine learning to catch scam messages that rule-based patterns miss โ especially the "gray zone" messages that are hard to write regex for.
How It Works โ
The AI module has two layers:
Layer 1 โ Embedding Similarity (~20ms per message)
Every training sample you submit gets converted into a mathematical vector (an "embedding") using a small language model (all-MiniLM-L6-v2, ~80MB). When a new message arrives, the bot embeds it and compares it against all known scam and safe samples using cosine similarity.
- High similarity to a scam sample (>60%): Confident detection โ flagged immediately
- Low similarity (<30%): Clearly safe โ no further processing
- Gray zone (30โ60%): Ambiguous โ passed to Layer 2
This runs on every message and is extremely fast. It uses almost no CPU because the model is small and the math is simple vector comparison.
Layer 2 โ LLM Classification (~1โ5s, gray zone only)
For messages in the gray zone, an optional small language model (Qwen 2.5 1.5B, ~1GB) reads the message and classifies it as scam or safe, explaining its reasoning. This only fires on ~5โ10% of messages, so it doesn't saturate the CPU.
- The LLM understands context that patterns can't: unsolicited self-promotion vs. answering a question, vague impressive claims vs. concrete technical discussion
- It returns a structured classification with confidence, category, and reasoning
- If the LLM says "safe," the gray-zone signal is suppressed entirely
- If it says "scam," the confidence feeds into the detection pipeline alongside other modules
Why Training Samples Matter Even More โ
The AI module is powered by your training data. Every "Train as Scam" submission feeds the embedding index:
- More scam samples = better coverage of scam variants
- The system needs at least 10 accepted training samples before it activates
- Each new sample triggers an automatic index rebuild
This is why training on multiple variations of the same scam type is so valuable โ each variant adds a new vector to the index, making the similarity search more comprehensive.
Enabling the AI Module โ
Step 1: Server operator enables AI detection (requires env vars on the host):
AI_DETECTION_ENABLED=true
# Optional: Enable the LLM layer for gray-zone classification
AI_LLM_ENABLED=true
AI_LLM_MODEL_PATH=/path/to/qwen2.5-1.5b-instruct-q4_k_m.ggufStep 2: Guild admin enables the module per-server:
/botconfig modules action:Enable module:AI AnalysisStep 3: Train at least 10 scam samples so the embedding index has enough data.
Resource Requirements โ
| Component | RAM | CPU | Disk |
|---|---|---|---|
| Embedding model only | ~200MB | Minimal (burst on embed) | ~80MB model |
| Embedding + LLM | ~1.5โ2GB | Low (LLM fires on ~5โ10% of messages) | ~1.1GB models |
The embedding model loads once on first message and stays in memory. The LLM loads on first gray-zone message. Both are lazy-initialized โ if AI detection is disabled, no memory is used.
Satellite Bot Architecture โ
If you're running BonkerBot on multiple servers and don't want every instance to load AI models, satellite bots can call the main server's API instead:
POST /api/ai/analyze
Headers: x-api-key: <your-api-key>
Body: { "text": "message content to analyze" }The main EPYC server runs the models; satellite instances get results over HTTP. This keeps satellite deployments lightweight.
Best Practices โ
DO โ
Train on multiple variations. Each accepted sample for the same scam type boosts existing pattern confidence (+0.03 per repeated pattern) and increases
sourceCount. Three samples teaching the same pattern make it significantly more reliable.Use specific categories.
SPAMfor AI hustle self-promo,FAKE_SERVICEfor fake giveaways,PHISHINGfor messages leading to credential-harvesting links. Specific categories help the bot prioritize detection modules.Dismiss false positives promptly. If your server is tech-focused and the bot keeps flagging real conversations, use the Dismiss button on mod review embeds. This weakens the rules causing false positives.
Use the mod review buttons. Every Confirm or Dismiss click feeds back into rule confidence. This is the primary way rules get refined after initial training.
Check
/admin rules-listperiodically. Look for rules with high hit counts but low confidence (they're matching a lot but keep getting dismissed โ might need disabling). Also look forgraduationReadyrules โ these are your success stories.Set up a honeypot channel.
/botconfig honeypot action:Add channel:#honeypotโ any message posted in this channel is instantly confirmed as scam. Useful for catching bots that spray messages across all channels.Report borderline messages instead of training. If you're unsure whether something is a scam, use the "Report Message" context menu (available to everyone). This puts it in front of a moderator for manual review without creating potentially inaccurate training data.
DON'T โ
Don't train on very short or generic messages. Messages like "try using AI" generate n-grams that match legitimate conversation. These create false positives that are hard to undo.
Don't use the wrong category. A crypto scam labeled as
SPAMwon't contribute patterns to the right detection bucket. Take a moment to pick the correct category.Don't ignore pending reviews. Pending training samples from Loose/Elevated Trainers sit in limbo until a Core Trainer accepts or rejects them. Run
/admin reviewregularly.Don't train the same message twice. The pattern learner deduplicates at the rule level, but duplicate training samples waste review time for pending submissions.
Don't disable rules without investigation. If a rule is causing false positives, check its pattern with
/admin rules-listfirst. Consider dismissing the false-positive reports to weaken rule confidence before disabling the rule entirely โ targeted feedback is more surgical than deactivation.
Quick Reference โ
Context Menu Commands โ
| Action | Right-Click โ Apps โ | Who Can Use | Result |
|---|---|---|---|
| Report a scam | Report Message | Everyone | Creates a report, posts mod review embed |
| Train as scam | Train as Scam | Trainers only | Creates training sample, triggers pattern learning (or pending review) |
Slash Commands for Training Management โ
| Command | What It Does | Who Can Use |
|---|---|---|
/botconfig modchannel | Set the mod review channel | Server Admin |
/botconfig modules | Enable/disable detection modules | Server Admin |
/botconfig autodelete | Toggle auto-deletion of detected scams | Server Admin |
/botconfig honeypot | Set up honeypot trap channels | Server Admin |
/admin trainer-add | Grant Core Trainer access | Bot Owner |
/admin review | View pending training samples | Bot Admin |
/admin accept | Accept a pending sample (triggers learning) | Bot Admin |
/admin reject | Reject a pending sample | Bot Admin |
/admin rules-list | View all learned rules | Bot Admin |
/admin rules-toggle | Enable/disable a specific rule | Bot Admin |
AI Scam Category Cheat Sheet โ
| Scam Pattern | Category | Severity | Train or Report? |
|---|---|---|---|
| AI engineer credential spam (unsolicited resume) | spam | mediumโhigh | Train |
| AI tool / bot / platform promotion | fake_service | high | Train |
| AI course / mentorship pitch | spam or fake_service | medium | Train |
| AI trading / crypto prediction bot | crypto | high | Train |
| Fake giveaway ("free MacBook") | fake_service | high | Train |
| AI job / recruitment scam | phishing | high | Train |
| "Download my AI tool" + executable | malware | critical | Train |
| Short "you should try AI" (no link, vague) | spam | low | Report (don't train) |
| Legitimate AI discussion | โ | โ | Dismiss (false positive) |
Confidence Thresholds โ
| Range | Effect |
|---|---|
| < 0.3 | Ignored |
| 0.3 โ 0.49 | Logged, low-priority review |
| 0.5 โ 0.69 | Flagged for mod review |
| 0.7 โ 0.89 | Auto-action (configurable) |
| 0.9+ | Critical auto-action |