rust-commit-tracker 0.2.1

A Rust application that monitors Facepunch's Rust game commits and sends Discord notifications
Documentation

Rust Commit Tracker

Rust Crates.io License: MIT

A reliable Discord bot that monitors Facepunch's Rust game commits and sends real-time notifications with SQLite persistence.

Features

  • ๐Ÿ”„ Real-time monitoring - Tracks new commits from Facepunch's Rust repository
  • ๐Ÿ’ฌ Discord integration - Rich embed notifications with commit details
  • ๐Ÿ’พ SQLite persistence - Prevents duplicate notifications across restarts
  • โš™๏ธ Auto-configuration - Creates config file on first run
  • ๐Ÿงน Automatic cleanup - Maintains database size with configurable retention
  • ๐Ÿš€ Zero dependencies - Standalone executable with no runtime requirements

Installation

Option 1: Download Pre-built Binary (Recommended)

  1. Download the latest release for your operating system:

    • Go to Releases
    • Download the appropriate archive for your OS:
      • rust-commit-tracker-vX.X.X-x86_64-pc-windows-gnu.zip (Windows)
      • rust-commit-tracker-vX.X.X-x86_64-unknown-linux-gnu.tar.gz (Linux)
      • rust-commit-tracker-vX.X.X-x86_64-apple-darwin.tar.gz (macOS)
  2. Extract and run:

    # Extract the archive
    # On first run, it will create config.toml
    ./rust-commit-tracker
    

Option 2: Build from Source

Requirements: Rust 1.70+

git clone https://github.com/kWAYTV/rust-commit-tracker.git
cd rust-commit-tracker
cargo build --release
./target/release/rust-commit-tracker

Option 3: Install via Cargo

cargo install rust-commit-tracker
rust-commit-tracker

Configuration

On first run, the application creates config.toml with sensible defaults. Only the Discord webhook URL needs to be set - everything else works out of the box.

Required: Discord Webhook

Edit config.toml and set your Discord webhook URL:

[discord]
webhook_url = "YOUR_DISCORD_WEBHOOK_URL"  # โ† Required: Replace with actual webhook

Optional: Customize Defaults

All other settings have working defaults but can be customized:

[discord]
bot_name = "Rust Commit Tracker"          # Bot display name
bot_avatar_url = "https://i.imgur.com/on47Qk9.png"  # Bot avatar

[monitoring]
commits_url = "https://commits.facepunch.com/?format=json"  # API endpoint
check_interval_secs = 50  # Check interval in seconds

[appearance]
embed_color = "#CD412B"  # Discord embed color (Rust orange)
footer_icon_url = "https://i.imgur.com/on47Qk9.png"  # Footer icon

[database]
url = "sqlite:commits.db"  # Database file location
cleanup_keep_last = 1000   # Number of commits to retain

Getting a Discord Webhook URL

  1. Open your Discord server settings
  2. Go to Integrations โ†’ Webhooks
  3. Click New Webhook
  4. Choose the channel and copy the webhook URL
  5. Paste it into your config.toml file

Usage

After configuration, simply run the executable:

./rust-commit-tracker

The bot will:

  • Start monitoring Facepunch's commit feed
  • Send notifications for new commits to your Discord channel
  • Maintain a local database to prevent duplicate notifications
  • Automatically resume from the last processed commit after restarts

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Follow Conventional Commits format
  4. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support