Documentation
Last updated: October 2026
Getting started
- Add Toaster to your server.
- Give its role the permissions you want it to use (see What the bot needs).
- Run
/settingsand pick a punishment and a log channel. - That's it. Every image posted is checked from now on.
How it works
Toaster reads every message in the servers it is in. Images are turned into vectors and compared against a scam database. On a match:
- The scam message is deleted immediately.
- The scammer gets a DM explaining what happened and why.
- The punishment from your
/settingsis applied. - A deferred sweep removes every other message the account sent, in all channels and threads, and repeats until a full pass finds nothing left.
A meme database overrides scam matches on known-good images, so regular memes are not punished. One detection also punishes the account in every other server Toaster is in, using each server's own settings - unless the account is whitelisted there.
Everyday commands
Free for everyone, in every language. The fun/utility commands on this list (and /avatar, /userinfo, /banner) carry a one-line vote reminder on top until you vote on top.gg; voting removes it (nothing is ever blocked).
/8ball- ask the magic 8-ball a question./coinflip- flip a coin./roll [dice]- roll dice like2d6or1d20(default1d100)./choose- the bot picks one of your comma-separated options./gay [user]- the scientifically measured percentage./remind- a reminder (10m,2h,1d,1h30m...; 1 minute to 30 days). Survives restarts and pings you when it fires./afk [reason]- auto-reply to mentions of you, cleared on your next message. Per-server extras in/settings: an AFK role and/or an "[AFK]" nickname prefix./vote- the top.gg vote card. Server owners and bot editors unlock a one-time 30-day premium trial for the server by voting./avatar [user],/banner [user],/userinfo [user],/serverinfo- profile and server cards./help,/about,/legal,/ping,/report [scope]- the usual utilities.
Web dashboard
The site you are reading right now is the bot's control panel: log in with Discord, pick a server (owner, Manage Server or a bot editor) and you get the live detection feed, statistics, and every setting - punishment and NSFW rules, honeypot, whitelist, language, AFK extras, billing. The Discord /settings panel keeps working in parallel; both write the same values.
The bot owner additionally gets the Admin - Scam DB page: upload new scam or meme template images into the global database, review the pending queue and commit - the same incremental rebuild /rebuild uses.
Whitelist
Whitelisted users, channels (their threads included) and roles are exempt from EVERYTHING the bot does in that server: live detection, /scan, sweeps and cross-server punishment. The whitelist outranks an in-flight wave: whitelisting someone mid-wave stops the wave from growing and aborts the pending sweep.
- Each picker replaces its list; an empty selection clears it.
- Entries for users who left or deleted channels/roles stay stored and apply again if the user rejoins, but they are no longer pre-selectable - saving a picker drops them.
- Whitelisted members are also protected in other servers: a server where the user is whitelisted never punishes them for a detection that happened elsewhere.
Honeypot
A channel normal members should never see or post in (typically View Channel denied for @everyone). Anyone who posts there is treated as a scammer immediately: the message is deleted, the guild's punishment applies, and the wave sweep cleans up everything else they posted. No embedding check is involved, so it works instantly. Threads of the honeypot channel count too, and the whitelist outranks the honeypot as everywhere else.
The bot keeps exactly one warning message inside the honeypot channel: its text and accent color are editable in /settings. It is edited in place when the text or language changes, moved when the channel changes, and deleted when the honeypot is disabled.
Warning: make sure normal members really cannot see the channel, or you will punish innocent people. If that happens, whitelist them and lift the punishment by hand.
NSFW filter
Optional per-server filter (default off, /settings → General or the site's Protection Rules): a local ViT classifier scores every image the pipeline already downloaded. At the threshold (default 0.85) the message is deleted and the author gets the NSFW action - timeout (default 60 minutes), delete-only, kick or ban. Deliberately isolated from the scam machinery: no waves, no cross-server punishment, no escalation.
False positives
Detection is probabilistic and can make mistakes. If the bot punishes an innocent member, add them to the user whitelist in /settings: a whitelisted user is never checked or punished again in that server. Temporary bans and timeouts have to be lifted by hand; kicks cannot be undone. Deleted messages cannot be restored. On the site's detection feed you can mark events as false positives - a note for future tuning.
Temporary bans
Discord's API has no native ban duration, so the bot lifts temporary bans itself: every scheduled unban is persisted and survives restarts (a ban that expired while the bot was down is lifted on the next startup). On expiry the ban is only lifted when it still carries the bot's own audit-log reason, so a manual re-ban is never undone by mistake.
/scan
Walks channel history back up to 90 days and applies the same detection as live moderation, deleting found scam and punishing the senders. dry_run:True reports without deleting; channel limits the scan to one channel; a Stop button halts it. Detected scam variants are sent to the bot owner as review cards, oldest first. Whitelisted channels are skipped whole.
Discord rate limits are handled automatically, so large scans simply take longer. Run with dry_run:True first to preview what would be deleted.
Premium
Premium costs $2/month per server (14-day free trial, one per server) and is managed with /premium or the site's Billing page: pay, and it activates automatically. A one-time 30-day vote trial can be unlocked by the server owner via a top.gg vote. Free servers: /scan up to 30 days deep, once per day. Premium servers:
/scanup to 90 days deep, unlimited.- Weekly auto-scan - the cleanup runs by itself once a week on the weekday you pick.
- Weekly stats image - a chart of daily detections, deletions and punishments, also available on demand with
/stats days:1-90. - Repeat-offender escalation - the 2nd and 3rd+ offenses get harsher punishments picked per tier.
Permissions
- Delete messages: Manage Messages, View Channel, Read Message History.
- Kick: Kick Members. Ban: Ban Members. Mute/timeout: Moderate Members.
- NSFW timeout: Moderate Members. AFK role/nickname: Manage Roles / Manage Nicknames (best-effort, hierarchy applies).
- Log channel: View Channel and Send Messages there.
- The bot's role must be above the members it should punish. Server owners cannot be punished.
Review cards and the scam database
Every detected scam is also sent to the owner as a card with the image and buttons: add to the scam database, add to the meme database, or ignore. The same queue is filled by the site's admin upload page. Approved images are committed on /rebuild (which also removes near-duplicate images automatically). New variants approved this way improve detection for everyone.
Notes
- The bot never pings anyone. All mentions are rendered as plain text (reminders and AFK replies are the only functional exceptions).
- DMs are sent only to users who were punished, voted or asked for a reminder.
- Detection is probabilistic and can make mistakes. Check the log channel or the site feed; whitelist innocent users.
- Direct messages are not moderated.
- Everything works per server: punishment, whitelist, honeypot, NSFW, language and DM template are each server's own choice.