Skip to content

mustackable-dev/Botyo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mustackable

Intro

Botyo is a lightweight Discord notification bot with a REST API and SQLite persistence. It was built in 12 hours as a coding challenge.

Features

  • Schedule unlimited Discord notifications
  • Cron-based scheduling
  • REST API with Swagger UI
  • API key authentication
  • SQLite persistence
  • Designed to run in Docker

Getting Started

1. Create a Discord Webhook

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

2. Configure environment variables

Create a .env file:

ApiKey=your-secure-api-key
Discord__WebHook=https://discord.com/api/webhooks/...

3. Run with Docker Compose

docker compose up -d

The API will be available at:

Authentication

All endpoints are secured via an API key.

Send the key in the request header:

ApiKey: your-secure-api-key

API Overview

Main endpoints:

  • POST /Notifications – Create a notification
  • GET /Notifications – List notifications
  • GET /Notifications/{id} – Get a notification
  • PUT /Notifications/{id} – Update a notification
  • DELETE /Notifications/{id} – Delete a notification
  • PATCH /Notifications/{id}/Start – Enable notification
  • PATCH /Notifications/{id}/Stop – Disable notification
  • POST /Notifications/{id}/Run – Run immediately

All scheduling is done using cron expressions with UTC time!

Tech Stack

  • .NET 10
  • ASP.NET Core
  • SQLite
  • Docker / Docker Compose
  • Swagger (OpenAPI)

License

MIT — feel free to use, modify, and improve.

About

Botyo is a lightweight Discord notification bot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published