Discord selfbots - automated user accounts - are used for spam raids, phishing, and coordinated attacks. Traditional moderation bots scan message content, but that requires the MESSAGE_CONTENT privileged intent and raises privacy concerns. I wanted to catch bots without reading what people type. Discord's gateway broadcasts a TYPING_START event every time someone begins typing. This is metadata - it tells you WHO started typing, WHERE, and WHEN. A human needs 300-500ms just to switch focus between two Discord channels. A selfbot fires parallel HTTP requests and can trigger typing in multiple channels within 5-50ms. That gap is massive. A hard threshold of 150ms catches every bot without touching a single real user. Selfbot Human βββββββ βββββββββββββββββββ β5-50msβ β 300-500ms+ β βββββββ βββββββββββββββββββ β² β² β β CAUGHT SAFE Some selfbots disable typing events entirely (using "silent typing" plugins). So I added the inverse detection: If a message arrives WITHOUT a preceding TYPING_START - that's suspicious. Normal Discord desktop clients always fire a typing event before sending. No typing + message = likely automation. Selfbots often iterate channels programmatically - by ID order (ascending or descending). Humans jump between channels randomly based on interest.
If I see typing events hitting channels in perfect numeric ID order - that's a bot fingerprint.
https://wiretrip.lol - free, safe defaults (log-only mode), 30-second setup.