Botyo is a lightweight Discord notification bot with a REST API and SQLite persistence. It was built in 12 hours as a coding challenge.
- Schedule unlimited Discord notifications
- Cron-based scheduling
- REST API with Swagger UI
- API key authentication
- SQLite persistence
- Designed to run in Docker
You’ll need a Discord channel webhook URL.
Follow Discord’s official guide:
https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
Create a .env file:
ApiKey=your-secure-api-key
Discord__WebHook=https://discord.com/api/webhooks/...docker compose up -dThe API will be available at:
- Swagger UI: http://localhost:55421/swagger
- API Base URL: http://localhost:55421
All endpoints are secured via an API key.
Send the key in the request header:
ApiKey: your-secure-api-keyMain endpoints:
POST /Notifications– Create a notificationGET /Notifications– List notificationsGET /Notifications/{id}– Get a notificationPUT /Notifications/{id}– Update a notificationDELETE /Notifications/{id}– Delete a notificationPATCH /Notifications/{id}/Start– Enable notificationPATCH /Notifications/{id}/Stop– Disable notificationPOST /Notifications/{id}/Run– Run immediately
All scheduling is done using cron expressions with UTC time!
- .NET 10
- ASP.NET Core
- SQLite
- Docker / Docker Compose
- Swagger (OpenAPI)
MIT — feel free to use, modify, and improve.