BLANCO
Developer · blancodagoat.dev
GIF VALIDATOR
GIF Validator is a free Vencord userplugin that finds broken or dead URLs in your Discord favorite GIFs and removes them after you confirm a checkbox list. It validates each URL with HEAD requests from Vencord's main process and saves through Discord's own settings API, with no token handling and no self-bot HTTP calls.
Inspired by jakeayy/gif-validator, a Bun CLI that does the same job from outside Discord. The plugin version avoids self-bot territory entirely and runs through your already-authenticated desktop client.
↓ VIEW ON GITHUBHOW IT WORKS
- Reads favorites from Discord's in-memory FrecencyUserSettings store
- Validates URLs via main-process HEAD requests (CORS-free)
- Falls back to
GET Range: bytes=0-0on 405 responses - Re-numbers
order0..n-1 after deletion to keep favorites tidy - Saves via
USER_SETTINGS_PROTO_UPDATEwithpartial: true - Concurrency limiter capped at 8 to avoid Tenor / Discord rate limits
UI
- Validate button injected into the GIF picker subview header
- Toolbox action and settings-panel button as alternate entry points
- Three-state modal: idle, running with progress bar, done with checkbox list
- Broken GIFs pre-checked, valid ones inspectable via toggle
- Cancel mid-validation preserves whatever results landed so far
- Theme-aware text color via Discord's CSS variables (dark + light)
SETTINGS
concurrency(default 2): parallel HEAD requests, clamped to 8timeoutMs(default 8000): per-request timeoutrequireImageOrVideoContentType(default on): strict MIME checktreatRedirectsAsValid(default on): native bridge follows redirects
LIMITATIONS
- Tenor placeholders, some removed GIFs return 200 with a generic image
- Hosts with browser-fingerprint checks may report false-broken
-
Schema drift, if Discord renames
favoriteGifsthe plugin reports "couldn't read favorites"
FAQ
What is GIF Validator?
GIF Validator is a free Vencord userplugin that scans your Discord favorite GIFs, flags URLs that no longer respond, and removes dead entries after you confirm a checkbox list.
Is it safe to use?
Yes. It runs inside your already-authenticated Discord desktop client, reads favorites from Discord's in-memory settings store, and saves through Discord's own action creators. It does not handle tokens or impersonate self-bot HTTP APIs.
How does validation work?
The plugin issues concurrent HEAD requests from Vencord's main process (with GET Range fallback on HTTP 405), shows a confirmation modal listing broken GIFs, and re-numbers order indices after any deletion.