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.

Add to my server

What it does

  1. A moderator runs /giveaway start with a prize and how long it should run.
  2. The bot posts an embed with an Enter button and a live count of entries.
  3. Each member can enter once. Pressing again tells them they're already in.
  4. 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 start

    Starts a giveaway in the current channel with a prize and a length of time, such as 24h or 3d.

  • /giveaway end

    Ends 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.

More templates

Draw the first flow.

A command, a reply and a deploy is a working bot. It takes a few minutes.

Start building