Snoopy tracks users on Reddit, pins their comments, and sends activity notifications to Discord.
- Monitor any public user on Reddit.
- Get structured alerts with rich Discord Components.
- Deploy effortlessly with Docker or run locally with Python.
Rename config.example.toml to config.toml and set your instance configuration(s).
Next, edit and run this example compose.yaml with docker compose up.
services:
snoopy:
container_name: snoopy
image: ethanchrisp/snoopy:latest
environment:
LOG_LEVEL: INFO
LOG_DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/YYYYYYYY/ZZZZZZZZ
LOG_DISCORD_WEBHOOK_LEVEL: WARNING
REDDIT_USERNAME: WWWWWWWW
REDDIT_PASSWORD: XXXXXXXX
REDDIT_CLIENT_ID: YYYYYYYYYYYYYYYY
REDDIT_CLIENT_SECRET: ZZZZZZZZZZZZZZZZ
volumes:
- /local/path/to/config.toml:/snoopy/config.toml:roNote
Python 3.13 or later required.
-
Install dependencies.
uv sync
-
Rename
.env.exampleto.envand configure your environment. -
Rename
config.example.tomltoconfig.tomland set your instance configuration(s). -
Run Snoopy
uv run snoopy.py
Each instance within config.toml can be configured to your liking.
| Key | Description | Type | Required | Example |
|---|---|---|---|---|
username |
Reddit username to track. | String | Yes | "LackingAGoodName" |
label |
Label to display alongside the username. | String | No | "Friend" |
communities |
Community names to require for activity notifications. | Array of Strings | No | ["CODZombies", "ModernWarfareIII", "modnews"] |
exclude_posts |
Set to true to skip posts. |
Boolean | No | true |
exclude_comments |
Set to true to skip comments. |
Boolean | No | true |
discord_webhook_url |
Discord Webhook URL to send activity notifications to. | String | No | https://discord.com/api/webhook/XXXXXXXX/YYYYYYYY |
