How to Host Giveaways on Discord? Button Giveaway Guide
Starting giveaways via panel or command, setting correct duration, role requirements and winner count, ending early, canceling, and redrawing excluding previous winners; along with common mistakes.
This article was translated automatically from the Turkish original. Read the Turkish original

In this article
- Module, permission and channel access
- Starting a giveaway from the panel
- Starting a giveaway with a command
- Which setting should you choose and why?
- Ending, canceling, and redrawing
- What happens when the giveaway ends?
- If the announcement is not visible or joining gets stuck
- Which contests is a giveaway not right for?
- Frequently asked questions
In short
In VeyroBot, giveaways can be started in two ways: you can type the /giveaway command in the channel where the giveaway will take place, or you can go to the Giveaway Engine tab in the panel, select the channel, prize, duration, and winner count, and click the Start Giveaway on Discord button. The bot sends a countdown announcement; members participate by clicking the Join button on the message.
When the duration expires, winners are chosen randomly among the participants, the announcement is updated with the result, and winners are tagged in the channel. To end a giveaway early, cancel it, or redraw a replacement for a winner who doesn't claim their prize, you use the /giveaway-manage command or the Recent Giveaways list in the panel.
Module, permission and channel access
- The giveaway module must be enabled. The module is managed from the module switch in the Overview section of the panel and is enabled by default. When disabled, commands will not work, giveaways cannot be started from the panel, and the Join button will inform the user that the module is disabled.
- The person starting it must have the Manage Server permission.
/giveawayand/giveaway-managerequire this permission. If you have defined a bot administrator role in server settings, members with that role can also use them. - The bot must be able to write to the giveaway channel. The announcement is an embed message; the bot must have permissions to view the channel, send messages, and embed links in that channel. If messages cannot be sent, the giveaway record is canceled and the command returns an error. If you get stuck on permissions, the Discord bot permission errors article provides a step-by-step checklist.
This topic in VeyroBot:Discord Giveaway Bot →
Starting a giveaway from the panel
- Open the Panel → your server → Giveaway Engine tab.
- In the Quick Start Giveaway card, select the Channel where the announcement will go.
- Type the prize in the Prize Name field (maximum 200 characters).
- Enter a value between 1 and 10080 in the Duration (Minutes) field. 10080 minutes is 7 days; type 1440 for 1 day.
- Select the Winner Count between 1 and 20.
- If you wish, select a Participation Requirement (Role). If you leave it as "No requirement", anyone who can see the channel can participate.
- Click the Start Giveaway on Discord button.
Starting a giveaway with a command
/giveaway prize:<prize> duration:<duration> [winner_count] [required_role]
The giveaway starts in the channel where you typed the command. Duration is written as a single number and a single letter: m for minutes, h for hours, d for days. Examples: 30m, 2h, 7d. Combined formats like 1h30m are considered invalid; write 90m instead. The duration cannot be shorter than 1 minute or longer than 7 days.
Which setting should you choose and why?
| Duration | 10–60 minutes is for rewarding those who are present during a live stream or voice event. 1–7 days is so members online at different times can also see it. |
| Winner count | Choose according to the number of prizes you have. If eligible participants are fewer than the winner count, the bot will only choose as many winners as it can find. |
| Role requirement | For ensuring only verified members, subscribers, or those holding a specific level role can participate. @everyone and bot roles cannot be selected as requirements. The role is checked both when clicking the button and when drawing winners. |
| Channel | A channel visible to everyone you want to participate. The winner announcement also goes to the same channel. |
Ending, canceling, and redrawing
/giveaway-manage action:<End now | Redraw winner | Cancel> [message_id] [winner_count]
- End now — selects and announces winners without waiting for the duration to end.
- Cancel — closes the giveaway without selecting winners; the announcement is updated as canceled. Redraws cannot be performed on a canceled giveaway.
- Redraw winner — only works on finished giveaways. Excludes all previous winners from the pool, selects 1–20 new winners, and announces them in the channel.
If message_id is left blank, the last giveaway in the channel where you typed the command is selected: the active last giveaway for ending and canceling, and the finished last giveaway for redrawing. To manage a giveaway in another channel, provide the ID of the giveaway message; you can copy the ID by right-clicking the message while developer mode is enabled in Discord.
The Recent Giveaways list in the panel shows the last 20 giveaways with their status, channel, and participant count. The End now and Cancel buttons appear for ongoing giveaways, and the Redraw button appears for finished giveaways whose participant count exceeds the winner count. Redrawing from the panel selects a single winner; use the command for multiple new winners at the same time.
What happens when the giveaway ends?
- Those who left the server at the time of the draw and those who no longer meet the role requirement are removed from the pool; the same person cannot win twice in the same giveaway.
- If there are no participants or no eligible people left, the announcement is updated as "no winner" and a short notice is dropped into the channel.
- Participations are kept in the database. Even if the bot restarts, the button keeps working; a giveaway whose duration expired while the bot was offline will be resolved when the bot comes back.
If the announcement is not visible or joining gets stuck
- Trying the command in an admin channel. The slash command starts the giveaway in the channel where it is typed; the announcement drops into a channel members cannot see. For another channel, either type it in that channel or use the panel.
- Distributing the requirement role after the giveaway has started. A member without the role cannot participate when clicking the button; if they get the role later, they must click the button again. Distribute roles before the giveaway.
- Opening a new giveaway because the winner didn't respond. Redrawing uses the same participant list and excludes previous winners. If you open a new giveaway, members have to join from scratch.
- Deleting the announcement message. When the duration expires, winners are still chosen and the winner announcement is sent to the channel, but members can no longer participate and there is no announcement left to update.
Which contests is a giveaway not right for?
Suitable: communities giving away prizes at the end of events, content creators rewarding viewers during streams, servers giving exclusive prizes only to holders of a specific role. If you want to make giveaways part of an event calendar, the Discord server event ideas article explains the balance of rewards and participation.
Not suitable: contests where winners are determined by skill or jury decision; the giveaway chooses winners randomly. For campaigns lasting longer than 7 days, you need to start the giveaway in the final week of the campaign.
Frequently asked questions
How does a member leave a giveaway they joined?
They click the Join button again. A "Leave giveaway" button appears only in the response visible to them; when clicked, their record is deleted and the counter decreases.
Can I run multiple giveaways at the same time?
Yes. Each giveaway operates separately with its own button and duration. It is good practice to provide a message_id when managing them; if left blank, the last giveaway in the channel is selected.
Does joining a giveaway count towards anything else?
Yes. When a giveaway ends, everyone who participated progresses one step in the achievement system's giveaway participation metric, regardless of whether they won or not. We explained how to set up achievements in the Discord achievement system setup guide.
You can find all features of this capability on the Discord giveaway bot page, command cards on the /giveaway and /giveaway-manage links, and a brief summary in the documentation.
Last updated: September 17, 2026. The limits and behaviors in this article have been verified with the giveaway engine in VeyroBot's current version, the /giveaway and /giveaway-manage commands, and the Giveaway Engine tab of the panel.