A .NET 10 application consisting of a Discord bot backend and a Blazor web frontend for running drawings (giveaways/raffles) within a Discord server.
| Project | Description |
|---|---|
src/DrawingBot.Core |
Domain models, interfaces, and business logic shared across projects |
src/DrawingBot.Discord |
Discord bot hosted service using Discord.Net |
src/DrawingBot.Web |
Blazor Server frontend with ASP.NET Core WebAPI |
tests/DrawingBot.Core.Tests |
Unit tests for Core |
tests/DrawingBot.Discord.Tests |
Unit tests for the Discord bot |
tests/DrawingBot.Web.Tests |
Unit tests for the Web project |
- .NET 10 SDK
- A Discord application & bot token (Discord Developer Portal)
Copy the example settings and fill in your values (this file is git-ignored):
cp src/DrawingBot.Discord/appsettings.json src/DrawingBot.Discord/appsettings.Development.jsonSet your Discord bot token in appsettings.Development.json:
{
"Discord": {
"Token": "<your-bot-token>",
"GuildId": "<your-guild-id>"
}
}dotnet builddotnet testdotnet run --project src/DrawingBot.Discorddotnet run --project src/DrawingBot.WebThis project follows Clean Code, SOLID, and Test-Driven Development (TDD) principles. See .github/copilot-instructions.md for detailed coding guidelines.
Feature specifications are maintained in the docs/ folder.
See LICENSE.