Example of Telegram Bot written in Go programming language. There is base implementation of go-telegram-bot-api with usage of postgres or sqlite3 database and API calls to external resource.
To run the bot there must be specified .env file as shown in .env-example. The database is required, it may be either or postgres or sqlite3 and must be specified in .env file with DB_TYPE var. Depending on database type migrations are stored in corresponding subdirectories of migrations directory. Migrations are applied using custom goose binary. It has to be built from goose/main.go entrypoint:
$ go build -o bin/goose goose/main.go
$ bin/goose up # running db migrations to the latest versionThe bot can be launched from server/main.go file:
$ go run server/main.goor from built binary:
$ go build -o bin/server server/main.go
$ bin/server