Giveaway Discord Bot
Discord giveaway bot with slash command modal, entry button, SQLite persistence, and timed winner selection.
Giveaway Discord Bot
Node.js Discord giveaway bot with modal-based creation, button entries, SQLite persistence, and automatic winner selection.
โจ Features
/gstartopens a form for prize name, duration, and number of winnersGiveaway posts with an entry button and live embed updates every 60 seconds
Automatic winner selection when the giveaway ends
Persistent storage so giveaways survive bot restarts
Admin tools for ending, rerolling, listing, and editing giveaways
DM notifications on entry confirmation
Logging channel support for tracking giveaway events
Entry limit enforcement per user
Duplicate entry prevention with rate-limited DM notifications
โ๏ธ Commands
Command | Description |
|---|---|
| Create a giveaway with a modal form (prize, duration, winners) |
| End a running giveaway early and pick winners immediately |
| Pick new winners for a finished giveaway |
| List all active giveaways in the server |
| Update the prize text or extend the end time |
๐ Setup
Install dependencies:
npm install
Create a
.envfile in the project root with:env
DISCORD_TOKEN=your-bot-tokenCLIENT_ID=your-application-client-idGUILD_ID=your-test-guild-idStart the bot (also registers slash commands):
bash
node run.js
๐ ๏ธ Tech Stack
Node.js โ Runtime environment
discord.js v14 โ Discord API wrapper
SQLite3 โ Lightweight persistent database
dotenv โ Environment variable management
โณ Duration Format
Use values like 10m (minutes), 2h (hours), or 1d (days).
Reviews
0 reviewsNo reviews yet
Be the first to review this project!