Discord giveaway botDevelopment & Customization

A Discord giveaway bot in Python: entry by a button, a list of entrants and a random winner by your rules

Usually ready in 15 minutesRevisions includedQuality check
Packages
Payment protectionDetails
  • Revisions within the package are free.
  • If you do not respond within 3 days of delivery, the work is accepted automatically.

The money is reserved when you pay and released only once you accept the work.

A Discord giveaway bot in Python: entry by a button, a list of entrants and a random winner by your rules

Example result

Example for the Standard package

Telegram bot for booking haircuts at a barbershop

The bot in Telegram

Booking a haircut in the bot

A part of the code

async def booking_done(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int:
    """The last step of the form: thanks the client and passes the request on."""
    request = context.user_data["booking"]
    request["phone"] = update.message.text.strip()
    await update.message.reply_text(TEXTS["booking_thanks"], reply_markup=main_menu())
    await context.bot.send_message(settings.admin_chat_id, format_request(request))
    sheet.append_row([datetime.now().isoformat(timespec="minutes"), *request.values()])
    return ConversationHandler.END

All the answers and buttons are in texts.yaml, so the client changes a price or the hours without touching the code.

Files: a ZIP archive with bot.py, texts.yaml, settings.example.env (where the bot token and the sheet go, filled in by the client), requirements.txt and a README: creating the bot in Telegram, connecting the Google Sheet and running it on a small server or hosting. The bot sends the request but does not check the barbers' calendar: the owner confirms the time.

Client: a barbershop with 3 barbers that took bookings only by phone. Task: a Telegram bot with a menu: prices, address and hours, a booking form (service, day and time, name, phone) that sends each request to the owner's chat and adds it to a Google Sheet.

The client and all details are made up.

About this service

Giveaways keep a Discord server lively, but counting reactions by hand is slow. This bot shows your rules, dates and prizes by slash commands. From Standard it posts a giveaway with an Enter button in your channel; each member can enter once, and entrants go to a channel of yours and a Google Sheet. In Premium entries are kept in a small database, and an admin command draws winners at random among members who meet the rules the bot can check, such as entering before the end time or having a role you name; the bot then announces the winners. The rules, the prizes and the legal side of the giveaway, including taxes and whether it is allowed where your members live, are yours. The bot sends no prizes, codes or money and takes no payments. The README shows how to create it on Discord's Applications page and run it on your computer, server or a hosting. Hosting and the token are yours.

What is included

  • What you getA ZIP archive with the Python code, your rules and texts in a separate file, an example settings file and a README; the code is also shown on the order page.
  • Enter buttonOne click, one entry per member, from Standard
  • Entrants in a sheetEvery entry in a Google Sheet and a channel
  • Random drawWinners picked by admin command, in Premium
  • Role rulesOnly members with a role you name can win, if you want
  • Winners announcedIn the giveaway channel, in your words

How it works

  1. 1
    RulesYou give the rules, prizes, channels and roles
  2. 2
    CodeWe write the bot and the guide to running it
  3. 3
    LaunchYou create the bot on Discord's Applications page, invite it, add the token and run it
  4. 4
    ChangesYou ask for changes within your package

What we need from you

The giveaway rules as text: end time, who can enter, any role needed and how many winners; the prizes exactly as they should be described; the channel for the giveaway post and the channel where entrants are logged; the text winners read on how to claim the prize. Never send the bot's token or any passwords: the README shows where you put them yourself.

We will ask you:

  • Giveaway rules
  • Prizes
  • Channels
  • Roles

Compare packages

PackagesBasicGiveaway info bot$24StandardGiveaway entries$51PremiumGiveaways with a draw$87
Deadline1 day2 days3 days
Revisions123
PlatformDiscordDiscordDiscord
Ready answersup to 10up to 25up to 40
Forms (request, booking, order)Noup to 3up to 5
Requests sent to your chat and a Google SheetNoYesYes
Admin commands and broadcastsNoNoYes
Languages of the menu112
Random winner drawNoNoYes
Order BasicOrder StandardOrder Premium

Payment protection

You pay when you order, but the money is released only for accepted work.

  • Fixed priceThe package price does not change after you pay.
  • The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
  • Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
  • Free revisionsAsk for changes within your brief as many times as the package allows.
  • Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
  • Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
How it works →

Questions and answers

How is the winner drawn?

When an admin runs the command, the bot picks at random among valid entries using Python's built-in random tools, and posts the result and the number of entrants in your channel.

Can it check that members did other things, like inviting friends?

No. It checks only what it can see itself: the entry, its time and the roles you name. Any other condition is yours to check before you announce the winner.

Who answers for the giveaway rules?

You do: the rules, the prizes, any taxes and whether a giveaway is allowed for your members. The bot only takes entries and picks at random by the rules you set.

Can it hand out the prize?

No. The bot sends no prizes, codes or money and takes no payments; it can show the winner your text on how to claim.

Where does it run?

On your computer, server or a hosting with Python; the token stays with you. WhatsApp is not part of this service.

Did not find your answer?

Packages