Discord giveaway bot with one-button entry

Start one with /giveaway start. Members press Enter, it ends on time, picks the winners and can pick again.

A running giveaway, and the private reply after pressing Enter.
giveaways
Giveaway BotAPPToday at 18:40
A month of hosting
Press the button to enter.
Ends
in 2 days
Winners
1
Entries
38
Started by mira
Enter
Giveaway BotAPPToday at 18:42
You are in. Press again to leave.

Only you can see this

Plan
Free, always on
Setup
A token, then /giveaway start
Privileged intents
None
Permissions
Send Messages, Embed Links

What the giveaway bot does

One button to enter

Members press Enter on the giveaway and press again to leave. The entry count updates on the message itself.

Ends on time

Durations like 30m, 2h, 3d or 1h30m. Running giveaways are saved, so a restart or a redeploy picks the timers up again.

Winners, announced

It picks as many winners as you asked for and pings them in a reply to the giveaway. /giveaway reroll picks new ones and leaves the earlier winners out.

Everything running, at a glance

/giveaway list shows the running giveaways with their message ids, and /giveaway end finishes one early.

Set it up

  1. 1

    Create the bot

    At discord.com/developers, New Application, then Bot and Reset Token. Copy the token.

  2. 2

    Invite it

    With the bot and applications.commands scopes and Send Messages and Embed Links.

  3. 3

    Deploy it

    Press Deploy free, pick the Giveaway Bot template and paste the token.

  4. 4

    Start one

    /giveaway start prize: A month of hosting duration: 2d winners: 1

Commands

/giveaway start prize duration [winners] [channel]
Starts one. Durations like 30m, 2h, 3d or 1h30m.
/giveaway end message_id
Ends it now and picks the winners.
/giveaway reroll message_id
Picks new winners for an ended giveaway.
/giveaway list
The running giveaways with their ids.

Environment variables

They live in the table on the bot's page in the panel, values masked once saved. The template's form asks for the ones it needs when you deploy.

VariableNeededWhat it is
DISCORD_TOKENRequiredYour bot token. That is the only one.

Which plan it needs

The free plan runs it, always on, which is what a giveaway needs: a bot that is there when the timer runs out.

Free

Recommended

$0

No card

  • 256 MB and a quarter of a CPU, always on
  • No card: one free bot or app per person
  • No renewals. Only a bot with no network traffic for 7 days is stopped

Starter

$2/mo

or $20 a year

  • 1 GB of memory and a full vCPU
  • Never stopped for being quiet
  • You pick the region it runs in

Running more than one? Standard carries two bots or apps for $3 a month and Pro four for $6, on one bill with your game servers. Every plan

Frequently asked questions

What happens if the bot restarts during a giveaway?

Nothing is lost. Running giveaways are saved to the bot's storage, and after a restart it picks the timers up again and ends each one on time.

Can I pick new winners?

Yes, with /giveaway reroll and the giveaway's message id. Earlier winners are left out, and the new ones are announced in a reply.

Can members leave a giveaway?

Yes. Pressing Enter a second time takes them out, and the bot tells them so privately.

Is the giveaway bot free?

Yes. It runs on the free plan, always on, with no card. One bot or app is free per person; a second one needs a paid plan, from $2 a month for one or $3 for two.

Run giveaways in your server

Your first bot is free, with no card. It logs in within a minute.

Deploy free