Plugins

Giveaways

Premium
Button-entry giveaways with role requirements and exclusions — defaults, per-giveaway fields, and the reroll flow.

A giveaway is an embed with a Join button. Cloudy tracks entries, draws winners at the end time and announces them. You can start one from the dashboard or with /giveaway start in Discord.

LicensePremium
TabsSettings · Giveaways
NeedsSend Messages, Embed Links

Defaults

Applied whenever a giveaway is started without specifying the value — from Discord or the dashboard.

Default channel

Optional

Where giveaways are posted when no channel is given. /giveaway start without a channel refuses to run until either this or the channel option is set; the dashboard form is pre-filled with it.

Default winners

1–50 · default 1

Default number of winners for new giveaways.

Notify role

Optional

Pinged when a giveaway is posted. Make it an opt-in role members can pick themselves via reaction roles — pinging @everyone for every giveaway is how you lose members.

Embed colour

Optional

Accent colour of the giveaway embed, set in the embed builder below the field. Empty inherits the server embed colour.

The same builder designs the shell of every giveaway card — colour, author line, footer, thumbnail and image. Title, description and the fields are filled in per giveaway and cannot be edited here.

Starting a giveaway

From the dashboard, the Giveaways tab has a Start giveaway form with these fields. In Discord, /giveaway start takes the same values, with the same limits, as options (see Commands).

Title

1–256 characters · required

Shown at the top of the embed. Be specific: Nitro Classic — 1 month beats Giveaway.

Description

Up to 2000 characters · optional

Details shown in the embed: what exactly is being given away, how the winner is contacted, any rules you want stated up front.

Channel

Required

Channel to post this giveaway in.

Winners

1–50 · default from the settings

How many winners to draw. Cloudy draws distinct winners — the same member cannot win twice in one draw.

Ends at

Required · must be in the future

When the giveaway closes and winners are drawn. Cloudy handles the countdown; you do not need to be online.

Required roles

Up to 10 roles · optional

Members need at least one of these roles to enter. Empty means everyone may enter.

Use it for "subscribers only" or "level 10+" giveaways — paired with a role from level rewards, this is how you gate on activity.

Excluded roles

Up to 10 roles · optional

Members holding any of these roles cannot enter. Typically your staff roles.

Excluded wins over required. Someone who has both a required and an excluded role cannot enter.

Managing running giveaways

The Giveaways tab lists active giveaways with their live entry count and end time, and the finished ones with their winner count. A giveaway started from the dashboard shows a Posting… badge until the bot has posted it.

From the dashboard you can cancel a running giveaway: no winner is drawn, and within about 30 seconds the bot turns the posted message into a closed giveaway — the Join button disappears and the embed says no winners were drawn. Nothing is announced. To end a giveaway with a draw and an announcement, use /giveaway end in Discord instead.

A posted giveaway cannot be edited, neither from the dashboard nor in Discord. To change one, cancel it and start a new one.

Commands

All subcommands require Manage Server by default.

CommandDoes
/giveaway startStart a new giveaway. title (up to 256 characters) and duration (30m, 2h, 1d — at least 1 minute, at most 365 days) are required; channel (a text or announcement channel), winners (1–50), description (up to 2000 characters), required_roles and excluded_roles (up to 10 each, comma-separated role IDs or pasted role mentions; roles that do not exist on the server are refused) are optional and fall back to the defaults
/giveaway endEnd it now and draw the winners
/giveaway closeCancel it — no winner is drawn. Takes an optional reason
/giveaway rerollDraw a fresh set of winners for a giveaway that ended with a draw — from members who have not won it yet

/giveaway end and /giveaway close are different on purpose: end draws winners immediately, close cancels the giveaway without a draw. Both pick the giveaway from an autocomplete list of running ones; reroll lists the ones that ended with a draw — a closed or cancelled giveaway can never be drawn after the fact.

Behaviour notes

  • A second click on the Join button never withdraws by accident: Cloudy answers that you are already entered and offers a Withdraw entry button, visible only to you. The entry count in the embed updates a moment later. Entries close at the end time shown in the embed, even if the draw itself runs up to 30 seconds later.
  • Role rules are checked when someone clicks and again when winners are drawn — a member who lost a required role, gained an excluded one or left the server in the meantime is skipped.
  • Rerolling replaces the winners with a fresh draw from everyone who entered and has not won this giveaway yet — neither the current winners nor anyone an earlier reroll replaced can be drawn again. If fewer such members are left than the giveaway has winners, the reroll draws as many as there are. If none is left (or none of them is eligible any more), the reroll is refused and the current winners stay. The new winners are announced as a reply to the giveaway message.
  • The result is posted as a reply to the giveaway message, with a mention for each winner. If nobody entered, or nobody who entered is still eligible, the announcement says which of the two it was.
  • A giveaway whose message or channel was deleted before it ended is closed silently — no announcement for a giveaway nobody can see any more. The same goes for a dashboard giveaway that could not be posted before its end time.
  • While the plugin is switched off (or the licence has lapsed), nothing is posted and due giveaways wait; they are drawn once the plugin is active again.
  • Started from the dashboard, the bot posts the embed within about 30 seconds (Posting… badge). Due giveaways are also checked every 30 seconds.
  • Changing the default channel, winner count or notify role does not affect giveaways that are already running. The embed shell is different: it is re-applied every time a running giveaway's message is refreshed (after an entry, for example), so a new colour or footer shows up on running giveaways too.