MCPcopy Index your code
hub / github.com/Quintenvw/hetzner-auction-discord-bot

github.com/Quintenvw/hetzner-auction-discord-bot @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
18 symbols 56 edges 3 files 4 documented · 22% updated 2mo ago★ 38
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hetzner Auction Discord Bot

This Discord bot lets users receive notifications when servers matching their specific requirements appear in the Hetzner server auction.

Features

  • Customizable Notifications: Users can specify their desired server specifications, including:
  • CPU
  • RAM (size and ECC support)
  • HDD (size, count, and type)
  • Location
  • Price (with VAT calculation)
  • Currency (EUR or USD)
  • Direct Links: Notifications include a direct link to the server auction page.
  • Automatic Updates: The bot periodically checks for new auction items.
  • MongoDB Integration: User configurations are stored in a MongoDB database.

Screenshots

Example notification Example command

Requirements

  • Python 3.8+
  • discord.py 2.3+
  • Motor (Async MongoDB driver)
  • Pydantic (for settings management)
  • A MongoDB collection named hetzner to store user configurations.
  • A .env file with all the necessary variables (see settings.py).

Installation

  1. Clone the repository:

bash git clone https://github.com/Quintenvw/hetzner-auction-discord-bot.git cd hetzner-auction-discord-bot

  1. Install dependencies:

bash pip install -r requirements.txt

  1. Set up the configuration:

Create a .env file in the root directory and add the following variables:

env BOT_TOKEN=your_discord_bot_token MONGODB_URI=your_mongodb_connection_string HETZNER_NOTIFICATIONS_CHANNEL_ID=your_discord_channel_id_for_notifications

You can get a Discord bot token from the [Discord developer portal](https://discord.com/developers/applications).

Usage

  1. Run the bot:

bash python bot.py

  1. Available Commands:

The bot uses slash commands. Use /hetzner to save a config and get a notification once it becomes available.

How it Works

The bot periodically fetches server auction data from the Hetzner API. It then compares this data against the configurations saved by users in the MongoDB database. If a matching server is found, a notification is sent to the configured Discord channel, mentioning the user who set up the alert.

Configurations are automatically deleted after a notification is sent or if no server has been found within 90 days.

Contributing

Contributions are welcome! Please feel free to submit a pull request.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Core symbols most depended-on inside this repo

Shape

Method 12
Class 3
Function 2
Route 1

Languages

Python100%

Modules by API surface

cogs/hetzner.py11 symbols
bot.py6 symbols
settings.py1 symbols

Datastores touched

(mongodb)Database · 1 repos

For agents

$ claude mcp add hetzner-auction-discord-bot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page