https://github.com/nukesor/hetznerbot
:calling: Get the newest hetzner server offers right to your telegram chat.
https://github.com/nukesor/hetznerbot
auction best-offer hetzner notification-service server telegram-bot
Last synced: 6 months ago
JSON representation
:calling: Get the newest hetzner server offers right to your telegram chat.
- Host: GitHub
- URL: https://github.com/nukesor/hetznerbot
- Owner: Nukesor
- License: gpl-3.0
- Created: 2017-11-06T14:54:05.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-29T17:43:14.000Z (6 months ago)
- Last Synced: 2025-04-12T21:06:42.909Z (6 months ago)
- Topics: auction, best-offer, hetzner, notification-service, server, telegram-bot
- Language: Python
- Homepage:
- Size: 563 KB
- Stars: 20
- Watchers: 4
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Hetzner-Bot
[](https://github.com/Nukesor/pollbot/blob/master/LICENSE.md)
A handy telegram bot which texts you as soon as there is a viable offer available on the hetzner server market.
It is possible to set several search parameter which need to be satisfied for an offer to be sent to you.
![]()
If the price of an offer is reduced you will get a new notification with the updated price.
This project is mostly used by myself. You may also use it if you like.
However, I don't plan to provide proper support for this project as I do for my other projects.Available commands:
```txt
/start Start the bot
/stop Stop the bot
/set Set search attributes with this syntax: "\set hdd_count 3"
Attributes are:
- `hdd_count` int (min number of hard drives)
- `hdd_size` int (min amount of GB for each disk)
- `raid` enum ('raid5', 'raid6', 'None')
- `after_raid` int (min size of raid after assembly in TB)
- `threads` int (min number of cpu threads)
- `release_date` int (earliest cpu release year)
- `multi_rating` int (min passmark multithread rating)
- `single_rating` int (min passmark singlethread rating)
- `ram` int (min RAM size in GB)
- `price` int (max Price in Euro)
- `ecc` bool (0 or 1)
- `inic` bool (0 or 1)
- `hwr` bool (0 or 1)
/get Check hetzner now!
/info Show the current search attributes.
/help Show this text
```## Installation and run
**This bot is developed for Linux.**
Windows isn't tested, but it shouldn't be too hard to make it compatible. Feel free to create a PR.
Dependencies:
- `poetry` to manage and install dependencies.
- [Just](https://github.com/casey/just) for convience.
- Hetznerbot uses postgres by default1. Clone the repository:
```sh
git clone git@github.com:nukesor/hetznerbot && cd hetznerbot
```
1. Run `just setup` to install dependencies
1. Run `just initdb` to initialize the database
1. Start the bot once with `just run` to create the default config at `~/.config/hetznerbot.toml`
1. Adjust the config file
1. Import the cpu data into your database with `just import_cpu_data`.
1. Start the bot with `just run`## CPU data
The CPU data is read from `data/cpu_data.csv`.
If you want to help out and add missing CPUs, please go to https://www.cpubenchmark.net/, gather the relevant information and add it to the csv file.
## Bot Commands
```txt
start - Start the bot
stop - Stop the bot
get - Get the newest Offers
info - Show the current search attributes
help - Show the help text
```