bahn-bot

command module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2020 License: MIT Imports: 4 Imported by: 0

README

Bahn Bot

German telegram bot as notification in case of train delays. It's use marudor.de as hafas api.

GitHub Travis (.org) Docker Image Version (latest semver) MicroBadger Layers Docker Image Size (tag) Docker Automated build Docker Build Status

Features

  • Beobachte Züge
  • Individuelle Schwellwerte

Commands

  • /help Befehlsübersicht
  • /myalarms Alle gesetzten Verspätungsalarme
  • /newalarm Neuer Verspätungsalarm
  • /cancel Abbrechen des aktuellen Vorgangs

Config

All parameters can be overwritten by ENV variable.

// config.json
{
    "api": {
        "endpoint": "https://marudor.de/api"
    },
    "telegram": {
        "key": ""
    },
    "database": {
        "dialect": "postgres",
        "path": "host=myhost port=myport user=gorm dbname=gorm password=mypassword"
    },
    "loglevel": "trace",
    "metrics": false
}
  • API_ENDPOINT marudor endpoint
  • TELEGRAM_KEY telegram bot key from Telegram BotFahter
  • DB_DIALECT currently only mysql or postgres
  • DB_PATH database config path.
    • mysql
      • user:password@/dbname?charset=utf8&parseTime=True&loc=Local
    • postgres
      • sslmode=disable host=myhost port=myport user=gorm dbname=gorm password=mypassword
  • LOG_LEVEL loglevel info, trace, warn or error

Docker Setup

version: '3'
services:
  bot:
    image: "pkuebler/bahn-bot:latest"
    environment:
        - API_ENDPOINT=https://marudor.de/api
        - TELEGRAM_KEY=
        - DB_DIALECT=mysql
        - "DB_PATH=user:password@/dbname?charset=utf8&parseTime=True&loc=Local"
        - LOG_LEVEL=info

Prometheus Endpoint

The Prometheus endpoint is located under :8080/metrics when enable_metrics is enabled in the Config.

ONLY for local tests a docker-compose overwrite file is included.

docker-compose -f docker-compose.yml -f docker-compose.prometheus.yml up

You can reach Prometheus on port 9090.

DSGVO

  • Speichert:
    • ChatID + Zug für den Verspätungsalarm. Wird 2 Tage nach Ankunft des Zuges gelöscht (um Verspätungen abzufangen).
    • ChatID + Aktuelle Operation mit Bot (z.B. newalarm, savealarm, ...). Wird 4 Tage nach letzter Interaktion gelöscht.
    • Metrics erfassen verwendung von Zugnummern ohne Verknüpfungen zu Personen.

ToDo

  • Add interface > telegram tests
  • SQL Database Repository tests

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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