Argus
Scam bots started posting their pitch as a screenshot (“MrBeast is giving away $5,600 USDT”), so keyword filters and AutoMod never see it. Argus looks at the pixels, deletes the post and tells your mods.
[01] why
Filters can't read pictures
Scam bots worked out that keyword filters only read text. So the pitch moved into an image: a fake MrBeast giveaway, a casino promo, a crypto payout that never comes. AutoMod sees a picture and waves it through.
Argus is built for exactly that gap. It's the image half of the scam problem, next to SafetyAI, which handles text.
[02] how it decides
Cheapest check first
- 0skip staff, whitelisted roles & channelsfree
- 1perceptual-hash blocklist of known scam imagesfree
- 2behaviour gate: new account? just joined?free
- 3AI vision for images nobody's seentiny
Every image runs the cheap checks first and stops at the first verdict. The flood of reposted scams costs nothing, and the AI only looks at images nobody has seen before.
[03] when it catches one
What happens next
- The message is deleted.
- Your mod log gets an alert with buttons: confirm scam and ban, timeout, blocklist the image, or not a scam.
- Auto-ban and auto-timeout exist, but they're off by default in every server.
[04] the blocklist
It learns, carefully
When a moderator clicks Confirm scam, that image's fingerprint joins a blocklist shared by every server, so the next repost is caught for free everywhere. The AI never adds to that list on its own. It stays human-curated, which keeps false positives out.
[05] privacy
What it keeps
The shared blocklist stores a perceptual hash, a short fingerprint of a confirmed scam image. Never the image itself, and no user content. An image only goes to the AI provider when it reaches the last step, and Argus doesn't keep anything there.
[06] commands
Setting it up
- /argus setupturn it on and pick the mod-log channel
- /argus moderisk-gated, every image, or hashes only with no AI
- /argus testdry-run the detector on any image
- /scamstatswhat it caught in your server
[07] timeline
How it got here
- Version 0.1.0 built and tested. Not public yet.
[08] built with
Made with
- Python
- discord.py
- SQLite
- perceptual hashing
- Mistral
- NVIDIA build