This Telegram bot helps people manage their musical ensemble seamlessly, without leaving their Telegram app.
You can try it by using the demo instance at @mordente_bot.
- First, copy the environment variables template file and name it
.env
:
cp env_template .env
-
You'll have to write your bot token obtained from @BotFather in the
.env
file. -
For file storage, add
S3_ENDPOINT
,S3_REGION
,S3_BUCKET
,S3_KEY
andS3_SECRET
in.env
. You may use any S3-compatible tool. Some of them include Digital Ocean Spaces, AWS S3 or even MinIO, which you can self-host. -
You can also add a
SENTRY_DSN
environment variable to log errors to Sentry. -
Then, run either of these commands to start the bot:
# For production:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up
# For development:
docker-compose up
- Don't forget to apply database migrations with either of these commands:
# For production:
docker compose exec app yarn run migrate:prod
# For development:
docker compose exec app yarn run migrate:dev
- You now have the bot running!
Following stack is used for this project:
- TypeScript
- Node 18
- PostgreSQL 14.5
- Prisma (Typescript ORM)
- grammY (bot framework for Node)