Giveaways: Prize Draws with Conditions, Bonus Entries and Rerolls
How Kage's giveaways work: start a giveaway by command or dashboard, conditions such as role and account age, bonus entries, the draw, winner role, reroll and troubleshooting.
Last checked for accuracy: 14 October 2026
With giveaways you run prize draws on your server: Kage posts a message with a Join button, collects the entries, draws winners automatically at the end, and can give them a role or send a direct message. You set conditions, such as a required role, a minimum account age or bonus entries for certain roles.
For a short walkthrough, see the guide Setting up giveaways.
Requirements
- Permissions: The
/giveawaycommand can only be used with Manage Server. In the dashboard you need the same permission (or access granted for this module). - Kage's permissions in the channel: Send Messages, Embed Links and, for the winner role, Manage Roles with a role above the winner role.
- Limit on running giveaways: The plan limits how many giveaways may run at once: Premium up to 10, Enterprise up to 50. Ending a giveaway frees up space again.
Starting a giveaway
You can start a giveaway by command or in the dashboard under Giveaways → New giveaway. The fields are the same:
| Field | Meaning |
|---|---|
| Prize | What there is to win |
| Runtime (minutes) | 1 to 43,200 (30 days) |
| Number of winners | 1 to 20, default 1 |
| Channel | Target channel; by command the current one by default |
| Required role | Only members with this role may enter (optional) |
| Excluded role | Members with this role may not enter (optional) |
| Bonus role and entries | This role gets more entries, 2 to 20, default 2 (optional) |
| Minimum account age (days) | Minimum age of the Discord account, 1 to 3,650 (optional) |
| Minimum time on server (days) | How long the member must have been on the server, 1 to 3,650 (optional) |
| Winner role | Given to the winners automatically (optional) |
| Also notify winners by DM | Direct message to winners, default no |
| Sponsor | Name shown in the giveaway, up to 200 characters (optional) |
| Image URL | Image in the giveaway, must start with http:// or https:// (optional) |
Kage posts an embed with prize, number of winners, number of entrants, optional sponsor and image, and the end as date and relative time. Below is the "Join 🎉" button. You receive the giveaway ID and a link.
Entering
A member clicks Join. Kage checks in order:
- Is the giveaway still running?
- Does the member have the required role?
- Do they carry an excluded role?
- Is their Discord account old enough?
- Have they been on the server long enough?
If they pass all checks, Kage registers them. Each person has one entry; a second click reports "you're already entered". The entrant count in the embed updates after every new entry. If a condition is not met, the member receives a private message saying why.
If the giveaway has a bonus role, members with that role count with the configured number of entries, everyone else with one entry. If someone has several bonus roles, the highest number applies.
The draw and the end
Kage checks every 30 seconds whether a giveaway has expired.
- Kage draws the winners weighted and without replacement: whoever has more entries is more likely to win, but each person can win only once.
- Kage updates the message: the button disappears, the embed shows the winners (or that there were no entries) and the footer "Giveaway ended".
- Kage posts a congratulation in the channel mentioning the winners, or reports that nobody entered.
- If a winner role is chosen, Kage gives it to the winners. If the notify by DM option is on, Kage also sends a direct message.
- The end appears in the module's Logs tab.
Kage always marks a giveaway as ended, even if something goes wrong (for example a deleted channel), so that it is not retried endlessly.
Commands
The /giveaway group can only be used with Manage Server. Only you see the replies, except for the reroll.
| Command | Effect |
|---|---|
/giveaway create (German erstellen) | Starts a giveaway, see table above. |
/giveaway list (German liste) | Shows the running giveaways with ID, prize, number of winners, end and link. |
/giveaway end (German beenden) | Ends a giveaway immediately by its ID. The draw follows on the next check, so within about 30 seconds. |
/giveaway reroll | Draws additional winners for an ended giveaway (1 to 20, default 1), for example if a winner does not respond. The reply is visible to everyone in the channel. |
On a reroll, Kage excludes the previous winners and draws among the remaining entrants with the same weights. If nobody is left, Kage reports that. A reroll is not possible for a giveaway that is still running.
Ending and rerolling exist only as commands. In the dashboard you start and watch giveaways.
In the dashboard
Under Giveaways you see Active and Completed giveaways (the most recently completed) with prize, number of winners and entrants, conditions, bonus roles, sponsor and winner role.
Settings at a glance
Giveaways have no module settings: you define everything per giveaway at the start. The dashboard page starts them through the New giveaway form.
Checking the result
- Start: Start a test giveaway with a runtime of 1 minute. The embed appears with the Join button.
- Entering: Click Join with a test account. The entrant count rises to 1.
- End: At most about 30 seconds after expiry, the congratulation appears in the channel.
- Reroll:
/giveaway rerolldraws if there are further entrants.
Troubleshooting
The Join button does not respond
The giveaway has ended or is no longer active. The button then shows a corresponding message. The button keeps working after a bot restart.
A member cannot enter
They lack the required role, carry an excluded role, their account or server membership is too young, or they are already in. The private message names the reason.
The giveaway cannot be started
Check Kage's permissions in the channel (Send Messages, Embed Links). Check whether the limit of running giveaways has been reached, and whether the image URL starts with http:// or https://.
No draw after expiry
The draw follows within about 30 seconds. If Kage was offline, it catches up as soon as it runs again.
The winner role is not assigned
Kage's role is below the winner role in the role list, or it lacks Manage Roles. Kage does not report this error; the congratulation in the channel appears anyway. In that case, grant the role by hand.
The DM does not arrive
The winner has blocked direct messages from server members. Kage silently skips the DM. The congratulation in the channel appears anyway.
Further reading
Polls: Polls. Roles with conditions: Role Panels.
Related Kage modules
- GiveawaysIncluded in Basic
Keep reading
More questions? Ask Kage AIAI
Describe what you need – Kage AI picks out the right guide and gives you the sources.
Try Kage on your server
Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.