Quickstart Guide
Get your PFP Checker bot up and running in just a few minutes. This guide will take you from creating a Discord bot to monitoring your first user.Prerequisites
Before you begin, you’ll need:Discord Bot Token
You’ll need a Discord bot token from the Discord Developer Portal. If you don’t have one yet, we’ll create it in the next step.
ImgBB API Key
Profile pictures are stored on ImgBB. Get a free API key from ImgBB API. It’s free and takes less than a minute to sign up.
Docker (Recommended)
The easiest way to run PFP Checker is with Docker. Install Docker and Docker Compose for your platform.Alternatively, you can run it manually with Rust 1.86+ and SQLite installed.
Step 1: Create Your Discord Bot
Open Discord Developer Portal
Navigate to the Discord Developer Portal and click New Application.Give your application a name (e.g., “PFP Checker”) and accept the terms.
Create a Bot User
In the left sidebar, click Bot, then click Add Bot.Under the bot’s username, you’ll see a Token section. Click Reset Token and copy it. You’ll need this for your
.env file.Configure Bot Permissions
Scroll down to Privileged Gateway Intents and ensure these are disabled (PFP Checker doesn’t need them):
- Presence Intent
- Server Members Intent
- Message Content Intent
Step 2: Get Your ImgBB API Key
Sign Up for ImgBB
Go to ImgBB API and click Get API Key or sign in if you already have an account.
Step 3: Deploy the Bot
The first time you run the bot, SQLx will automatically create the SQLite database and run all migrations. You should see log messages confirming the database setup.
Step 4: Invite Bot to Your Server
Select a Server
Choose the server you want to add the bot to from the dropdown menu. You must have “Manage Server” permission on the server.
Authorize the Bot
Click Authorize and complete the CAPTCHA if prompted.You should see a confirmation message, and the bot will appear in your server’s member list.
Step 5: Track Your First User
Now let’s monitor a user and view their profile picture history.Start Monitoring a User
In any channel, use the Replace
/monitor command:@username with any user in your server (you can tag yourself to test).The bot will respond:Wait for First Check
The bot checks for profile picture changes every 30 minutes. The first check will capture the user’s current profile picture and username as the baseline.
You won’t see any history until the first automatic check runs (within 30 minutes) or until the user actually changes their profile picture.
View Profile Picture History
After at least 30 minutes have passed, check the user’s history:You’ll see an embedded message showing all recorded profile pictures with:
- Timestamp of when it was first recorded
- Link to the archived image
- SHA-1 checksum for verification
Check Username History
You can also view username changes:This shows all usernames the user has had since monitoring began.
Step 6: Track Your Server
You can also monitor your server’s icon changes.Enable Server Monitoring
Run this command in the server you want to track:The bot will respond:
You need “Manage Server” permission to enable server monitoring.
View Server Icon History
After at least 30 minutes (or after the server icon changes), view the history:This shows all server icons with timestamps and archived links.
Quick Command Reference
| Command | Description | Example |
|---|---|---|
/ping | Check if bot is online | /ping |
/monitor @user | Start tracking a user | /monitor @john |
/pfphistory @user | View profile picture history | /pfphistory @john |
/usernamehistory @user | View username history | /usernamehistory @john |
/stats @user | View user statistics | /stats @john |
/monitorserver | Track this server’s icon | /monitorserver |
/serverpfphistory | View server icon history | /serverpfphistory |
/serverstats | View server statistics | /serverstats |
/removemonitor @user | Stop tracking a user | /removemonitor @john |
/removemonitorserver | Stop tracking this server | /removemonitorserver |
Troubleshooting
Bot doesn’t respond to commands
- Verify the bot is online (green status in member list)
- Check Docker logs:
docker-compose logs -f - Ensure the bot has permission to read messages in the channel
- Verify your Discord token is correct in
.env
”No history found” message
This is normal if:- Less than 30 minutes have passed since adding the user/server
- The user/server hasn’t changed their picture since monitoring began
Images not uploading
- Verify your ImgBB API key is correct in
.env - Check that you haven’t exceeded ImgBB’s rate limits
- Restart the bot after updating
.env:docker-compose restart
Next Steps
Full Installation Guide
Learn about production deployment and advanced configuration
All Commands
Explore all available commands in detail