Settings reference
Stored giveaway fields, defaults and limits.
| Setting | Type | Default | Meaning |
|---|---|---|---|
prize | string | Required | Prize title. Dashboard limit: 256 characters. |
channelId | Discord snowflake | Required | Text channel that receives the giveaway message. |
hostId | Discord user id | Requester | User shown as the giveaway host. |
winnersCount | integer | 1 | Random winners to pick. Both UI paths allow 1–20. |
endsAt | DateTime | Required | Exact end time calculated from the chosen duration. |
ended | boolean | false | Whether the giveaway has completed. Drafts are saved as true. |
winnerIds | JSON string | [] | Winner user ids saved after ending or rerolling. |
description | string or null | null | Dashboard host subtitle/custom blurb. Limit: 512 characters. |
requiredRoleId | role id or null | null | Entrants must hold this role. |
minAccountAgeDays | integer or null | null | Minimum account age. Dashboard accepts 0–3650; 0 becomes null. |
layoutVersion | legacy or v2 | legacy | Classic embed or components v2 layout. |
embedColor | hex colour or null | null | Accent colour. Fallback is Discord Blurple. |
imageUrl | http(s) URL or null | null | Optional banner image. Limit: 2048 characters. |
buttonLabel | string or null | Join Giveaway in code/UI | Join button text. Limit: 80 characters. |
buttonStyle | primary, success, danger, secondary | primary | Join button colour style. |
buttonEmoji | emoji string or null | 🎉 in the dashboard form | Emoji applied to the join button when present. |
customTitle | string or null | 🎉 G I V E A W A Y 🎉 fallback | Message title. Limit: 256 characters. |
customDescription | string or null | Click the button below to enter! fallback | Main instructions/body. Limit: 2000 characters. |
customFooter | string or null | ID: <giveawayId> fallback | Footer text. Limit: 512 characters. |
GiveawayEntry | unique (giveawayId,userId) | Created on join | Prevents one user from entering the same giveaway twice. |
Duration formats
Slash commands accept 30s, 5m, 2h, 1d and 1w. The dashboard accepts an amount plus minutes, hours or days.
