gogeizhalsbot

module
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2023 License: GPL-3.0

README

GoGeizhalsBot

build Docker Image Version (latest semver) Go Reference

This repository holds a rewrite of my Python-GeizhalsBot Telegram bot in the Go programming language. GoGeizhalsbot is a Telegram bot that notifies you via chat messages about changes of the price of a geizhals.de product or wishlist.

chat examples

Configuration

The software searches for a config.yml file in the current working directory. Check config.sample.yml for an example. This section gives a quick overview of the possible configuration items.

Config root

On the root level of the config file you can set the bot token.

Field Type Function
bot_token string The bot token to run the bot on
update_interval_minutes int Interval for fetching price updates in the background
Webhook config

Long polling isn't all too bad, but using webhooks cuts out the need of constantly contacting the Telegram server for new updates. The webhook key of the config allows you to set up a webhook for the bot.

Field Type Function
enabled bool Specifies if the bot should use webhooks
listen_ip string The IP for the webhook to listen on
listen_port int The port for the webhook to listen on
listen_path string The path to listen on (e.g. "/" or "/bot")
url string The publicly reachable url which Telegram calls (passed in SetWebhook)
cert_path string Path to a certificate file to use
cert_key_path string Path to the certificate key file
Proxy config

Contacting the geizhals.de website regularly will get your IP address banned in no time. Therefore, it is recommended to use proxy servers to circumvent this. Use the proxy key to configure your proxy servers.

Field Type Function
enabled bool Specifies if the bot should use proxies for the connection to Geizhals
proxy_list_path string Path to a file that contains a newline separated list of proxy addresses
Prometheus config

Monitoring your services is always a good idea. Prometheus is a time series database that allows you to collect metrics over time and render them in cool graphs e.g. with tools like Grafana. This configuration can be found on the prometheus key.

Field Type Function
enabled bool Specifies if the prometheus interface is active
export_ip string The IP adress to run the export http server on
export_port int The port number to run the export http server on

Directories

Path Synopsis
internal
bot

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL