Homunculus is a Discord bot (Discord.Net / .NET 10) plus a small ImgFlip API helper library.
| Path | Role |
|---|---|
README.md |
Setup, build, test, deploy, config shape |
MarekMotykaBot/Program.cs |
DI registration and app startup |
MarekMotykaBot/Modules/ |
Discord command modules |
MarekMotykaBot/Services/Core/ |
Bot infrastructure (commands, timers, JSON, scanning) |
MarekMotykaBot/Services/External/ |
YouTube, Imgur, ImgFlip, Nyaa, Unreal Tournament |
MarekMotykaBot/Resources/TextFiles/ |
Runtime JSON data (local; not deployed by deploy.sh) |
ImfFlipAPI.APISource.Core/ |
ImgFlip HTTP API client |
MarekMotykaBot.Tests/ |
Unit tests |
deploy.sh |
Publish + rsync + systemd restart |
- Never commit secrets:
configuration.json,.env, tokens, API keys, passwords. - Do not change
deploy.shexcludes forResources/TextFiles/,configuration.json,Logs/,Errors/, orCustom/without an explicit reason — those keep live server state intact. - Prefer existing service interfaces under
Services/*/Interfacesover new ad-hoc helpers. - Keep
AGENTS.mdshort; put deeper detail inREADME.md(ordocs/only if that becomes necessary).
dotnet build Homunculus.slnx
dotnet test MarekMotykaBot.Tests/MarekMotykaBot.Tests.csprojCanonical docs today: README.md and this file.
Update them in the same change when you alter user-facing bot behavior, public/module command surfaces, DI wiring, deploy/config requirements, or anything already documented here or in README.md.