Modules (Cogs)
Giveaways
The Giveaway module lets moderators create timed giveaways. Users enter by clicking a button, and winners are automatically drawn when time is up.
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
allowed_roles | string[] | [] | Roles that can create giveaways (empty = moderation roles) |
ping_role | string / null | null | Role to mention on new giveaway |
default_duration | string | 24h | Default giveaway duration |
color | string | #FF6B2C | Embed color for giveaway messages |
Commands
| Command | Description |
|---|---|
/giveaway create [prize] [duration] [winners] [channel] | Create a new giveaway |
/giveaway end [message_id] | End a giveaway early |
/giveaway reroll [message_id] [count] | Reroll winners |
Duration Format
Use combinations of days, hours, minutes: 1d, 12h, 30m, 1d12h, 2d6h30m
How It Works
- Moderator runs
/giveaway create "Prize" 24h - Bot posts embed with "Enter Giveaway" button
- Users click the button to enter (click again to leave)
- Entry count updates in real-time on the embed
- When time expires → bot draws winners automatically
- Winners are announced in the channel
Entry Button
The button is persistent — it survives bot restarts. Users can:
- Click to enter the giveaway
- Click again to leave (toggle)
- See their entry status via ephemeral message
Ending & Reroll
- Giveaways auto-end via a 30-second check loop
- Moderators can force-end early with
/giveaway end - After ending,
/giveaway rerollpicks new winners from the original entries
Tips
- Use
ping_roleto notify members about new giveaways - Set
allowed_rolesto let trusted members (not just mods) create giveaways - Reroll is useful when a winner doesn't claim their prize