Welcome to PFP Checker
PFP Checker is a Discord bot that tracks and archives profile pictures, username changes, and server icons. Built with Rust for blazing-fast performance, it provides comprehensive historical records and statistics about how often users and servers change their visual identity.Ever wondered how many times your friends change their profile pictures? PFP Checker automatically monitors and archives every change, giving you complete visibility into profile picture and username history.
Get Started
Quickstart Guide
Get your bot up and running in minutes with our step-by-step guide
Installation & Setup
Detailed installation instructions for Docker and manual deployment
User Tracking Guide
Learn how to monitor users and view their profile picture and username history
Server Tracking Guide
Track server icon changes and view comprehensive server statistics
Statistics & Analytics
Understand change patterns with detailed statistics and averages
Deployment Guide
Deploy to production with Docker Compose and automatic updates
Key Features
Comprehensive User Tracking
Monitor Discord users to automatically archive their profile pictures and usernames. Every change is timestamped and stored with a unique checksum, creating a complete historical record.- Profile Picture History: View every profile picture a user has had since monitoring began
- Username History: Track all username changes with timestamps
- Automatic Monitoring: Checks for changes every 30 minutes
- Permanent Archives: Images are uploaded to ImgBB for long-term storage
Server Icon Tracking
Track server (guild) icon changes with the same comprehensive approach. Perfect for documenting your community’s visual evolution.- Icon History: Complete record of all server icon changes
- Permission-Based: Requires “Manage Server” permission to enable tracking
- Automatic Updates: Monitors server icons alongside user profiles
Advanced Statistics
Go beyond simple history viewing with detailed analytics about change patterns.- Average Change Frequency: Calculate how often users change their profile pictures
- Total Change Count: See how many times changes have occurred
- Time-Based Analysis: Statistics shown in both hours and days
- Monitoring Duration: Track how long monitoring has been active
Built for Performance
Written in Rust using the Serenity framework, PFP Checker is designed for speed and reliability.- Blazing Fast: Rust’s performance means instant command responses
- SQLite Database: Lightweight, embedded database with automatic migrations
- Efficient Storage: SHA-1 checksums prevent duplicate image uploads
- Concurrent Processing: Multi-threaded architecture handles multiple requests
Why PFP Checker?
Curiosity and Accountability: Some users change their profile pictures frequently, making it hard to keep track of who’s who. PFP Checker solves this by maintaining a permanent record. Community Documentation: Track your server’s visual evolution over time. Perfect for communities that want to document their history. Data You Can Trust: Every profile picture is stored with a SHA-1 checksum to ensure authenticity and prevent duplicates. Timestamps are recorded at the moment of change detection. Privacy-Focused: Only tracks users and servers you explicitly add to the monitoring list. No global tracking or data collection. Easy to Deploy: Available as a Docker container or standalone binary. Set up your own instance in minutes with just a Discord bot token and ImgBB API key.How It Works
- Add Users or Servers: Use
/monitor @useror/monitorserverto start tracking - Automatic Checks: The bot checks for changes every 30 minutes
- Image Archival: New profile pictures are uploaded to ImgBB and stored in the database
- View History: Use
/pfphistory @useror/serverpfphistoryto browse changes - Analyze Patterns: Use
/stats @useror/serverstatsto see change frequency
The bot needs at least 30 minutes after adding a user or server to start showing history. This is because the first check captures the current state as the baseline.
Architecture Overview
PFP Checker uses a modern, efficient tech stack:- Serenity: Rust Discord API library for reliable bot functionality
- SQLx: Async SQL toolkit with compile-time query verification
- SQLite: Embedded database with automatic schema migrations
- ImgBB: Image hosting service for permanent profile picture storage
- Tokio: Async runtime for concurrent operations
Next Steps
Follow the Quickstart
Get your bot running in 5 minutes
Explore Commands
Learn about all available commands