No description
Find a file
2023-07-10 13:39:25 +02:00
cmd/birthdaybot Adds server options 2023-07-04 12:48:16 +02:00
model Adds basic telegram notification config 2023-07-01 17:48:10 +02:00
notification Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00
parser Add a test for the CSV parser and check errors on the read config 2023-06-30 09:51:34 +02:00
server Create a test to notify from the server, and all necessary structure 2023-07-10 13:39:25 +02:00
.envrc Initial commit 2023-06-29 18:55:13 +02:00
.gitignore Adds initial implementation of the Telegram bot 2023-07-04 12:29:25 +02:00
.gitlab-ci.yml Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00
birthdays.csv Create a sample birthday.csv file 2023-06-30 11:38:03 +02:00
example-config.yml Adds telegram_notifications sample config 2023-07-04 12:38:24 +02:00
go.mod Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00
go.sum Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00
Makefile Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00
README.md Adds server options 2023-07-04 12:48:16 +02:00
shell.nix Adds go mock and generate make target and CI check 2023-07-10 12:29:25 +02:00

pipeline status

Birthday bot

A simple bot that notifies of birthdays, posting the contact information of the subject so you can reach them easily.

Configuration

There is an example configuration file that can be used as a base to create your own configuration, and there is a birthdays example CSV file to load the data.

Run the bot

To get help for the bot command, run:

$ ./birthdaybot -help
Usage of ./birthdaybot:
  -config string
        path to the configuration file (default "birthdaybot.yml")

To run the server with the development defaults, run:

$ make run

Roadmap

  • Create the bot scaffold
  • Define how to read the birthdays info
  • Add a logger instance to the config
  • Add config validation on server creation
  • Add options to the server
  • Pass logger to the server through an option
  • Configure logger through config (levels and such)
  • Reduce logger verbosity (through levels)
  • Create a configurable template to fill with each notification
  • Create different message systems to use with the bot
    • Telegram
    • Email
    • Mattermost
  • Enjoy!