Enginebot Giveaway
a giveaway bot
Overview
- EngineBot — the engine, in
src/core/. Loader, router, Components v2 helpers, database drivers. Knows nothing about giveaways. - Giveaway — the bot, in
src/commands/giveaway/,src/components/,src/events/. Built on the engine.
| Commands | UI | Permissions | Multiserver | Database |
|---|---|---|---|---|
| Prefix & Slash | Components v2 | Discord flags | Yes ✅ | 8 drivers ✅ |
The bot
/giveaway/end <id or link>/reroll <id or link>- The button's label and emoji are kept per server
- Setup needs Manage Server
help and ping ship too, as /help and !help.
The engine
| Driver | What it is |
|---|---|
auto |
SQLite on Node 22.5+, else enginedb. No dependency either way. |
sqlite |
A SQLite file, through node:sqlite. |
enginedb |
The engine's format. Append-only log, folded into a snapshot. |
fusion |
Speed first. All in RAM. Hungry. |
spectral |
Memory first. Interned values, deflated on disk. |
json |
One readable JSON file. |
text |
One key<TAB>value line per entry. Copy it for your own. |
mysql |
A MySQL server. Needs npm install mysql2. |
memory |
Saves nothing. For tests. |
Your own driver: extend Driver, point driver at the file's path.
The token is all it needs. The app id is read from it. Turn on the Message Content intent for the prefix commands.
License
MIT