A Discord giveaway bot with random winners
Start a giveaway with one command. Members press Enter, the bot counts entries once per person, and when the time is up it picks one winner at random and announces them. It checks for finished giveaways every minute, so it runs on the Paid plan.
What it does
- A moderator runs /giveaway start with a prize and how long it should run.
- The bot posts an embed with an Enter button and a live count of entries.
- Each member can enter once. Pressing again tells them they're already in.
- A schedule checks every minute. When a giveaway's time is up, the bot picks one entry at random, updates the post and announces the winner.
Ending a giveaway on time needs a schedule, and schedules run on a bot that stays connected, which is on the Paid plan.
Commands
/giveaway startStarts a giveaway in the current channel with a prize and a length of time, such as 24h or 3d.
/giveaway endEnds a giveaway early and picks the winner.
Before you add it
- The bot's permission to send messages and embed links in the channel.
How adding it works
Press Add to my server and Buildcord asks you to sign up or sign in. It then makes a new bot from this template, with every flow already drawn. Paste your Discord bot token, add the bot to your server with the invite link and deploy. Nothing is final: the template is an ordinary bot you can open and change.
What you can change
- Restrict entry to a role by adding a role check before the entry is saved.
- Change how the winner is announced, or send them a private message.
- Allow several winners by repeating the pick step.
Questions
Is the winner really random?
Yes. The bot walks through the entries and gives each one an equal chance of being the final pick, using the same random step available to every flow.
How many winners can a giveaway have?
The template picks one. Because it's built from ordinary steps, you can open the flow and repeat the pick for more.