Skip to content
/ Snoopy Public

Track users on Reddit, pin their comments, and send activity notifications to Discord.

License

Notifications You must be signed in to change notification settings

EthanC/Snoopy

Repository files navigation

Snoopy

Python GitHub Workflow Status Docker Pulls Docker Image Size (tag)

Snoopy tracks users on Reddit, pins their comments, and sends activity notifications to Discord.

Example

Features

  • Monitor any public user on Reddit.
  • Get structured alerts with rich Discord Components.
  • Deploy effortlessly with Docker or run locally with Python.

Getting Started

Quick Start: Docker Compose

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:ro

Standalone: Python

Note

Python 3.13 or later required.

  1. Install dependencies.

    uv sync
  2. Rename .env.example to .env and configure your environment.

  3. Rename config.example.toml to config.toml and set your instance configuration(s).

  4. Run Snoopy

    uv run snoopy.py

Configuration

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

Sponsor this project