Go Blog Updates – Telegram Bot

This service consumes events about new posts in go blog (go.dev) from message broker (rabbitmq) (gbu-scanner service publishes these events) and sends notifications to telegram bot’s subscribers.
It uses PostgreSQL as a storage for bot’s users.

ENV Configuration:

name type description
TELEGRAM_BOT_TOKEN string Token to authorize in telegram
POSTGRES_HOST string Database host
POSTGRES_USER string Database user
POSTGRES_PASS string Database password
POSTGRES_DB_NAME string Database name
RABBIT_HOST string Rabbit host
RABBIT_USER string Rabbit user
RABBIT_PASS string Rabbit password
RABBIT_VHOST string Rabbit vhost
RABBIT_AMQPS bool Flag to use amqps protocol instead of amqp
RABBIT_RECONNECT_DELAY int Delay (seconds) before attempting to reconnect to rabbit after loosing connection
MESSAGES_SENDING_DELAY int Delay (milliseconds) between sending messages in telegram to avoid hitting limits

Env template for sourcing is deployments/local.env

$ source deployments/local.env

Makefile commands:

name description
lint Runs linters
test Runs tests, but there are no tests
run Sources env variables from deployments/local.env and runs app

Директория scripts содержит скрипты, которые вызываются командами из Makefile


View Github