GiveawayBot is a self-hosted Discord bot that lets you run timed giveaways directly in your server. Hosts create a giveaway with a duration and prize, members enter by clicking a button, and the bot selects a winner automatically when time runs out. All giveaway state is stored locally in a SQLite database, so nothing leaves your infrastructure.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/resynceddesign/giveawaybot/llms.txt
Use this file to discover all available pages before exploring further.
Features
Timed giveaways
Set a duration using a simple format like
5m, 2h, or 1d. The bot ends the giveaway automatically when time expires.Button-based entry
Members enter by clicking an interactive button on the giveaway message — no commands or reactions needed.
Per-guild settings
Configure behavior on a per-server basis, keeping settings isolated between guilds.
SQLite persistence
All giveaway data is stored in a local SQLite database using better-sqlite3, with no external database required.
Winner rerolling
Reroll a winner after a giveaway ends if the original winner is ineligible or unresponsive.
Auto DM notifications
Winners receive a direct message automatically when the giveaway ends.
Requirements
You need Node.js 18 or later and a Discord application with a bot token to run GiveawayBot. The bot must have the Guilds, Message Content, Guild Messages, and Guild Members gateway intents enabled on the Discord Developer Portal.Get started
Follow the quickstart guide to clone the repo, configure credentials, and invite the bot to your server.