Skip to main content
Righteous

Giveaways

Run a giveaway from the setup card or a one-line command, and know what happens if premium lapses while one is live.

Giveaways live under ,giveaway or /giveaway, gated on Manage Messages. The slash and prefix forms create a giveaway differently, but everything after that (pausing, editing, drawing, rerolling) is the same giveaway underneath either way.

Start a giveaway

The two entry points diverge on purpose:

Syntax

,giveaway create <duration> <winners> <prize…> [++channel <channel>] [++desc <word>] [++reaction] [++count]

Example

,giveaway create 1h 1 Nitro Classic ++channel #giveaways ++reaction

The prefix form is the older, direct path: give it a duration (10s to 60d), a winner count, and a prize, and it's live. ++desc only takes one word: a real multi-line description needs the slash modal's paragraph field. ++reaction switches this one giveaway to reaction entry; ++count turns on a live entry-count display for it. The slash form's setup card offers the same options plus requirement roles, all as pickers, before anything posts.

Entries are reaction or button, chosen per giveaway

New giveaways default to button entry. A giveaway created before buttons existed keeps working as reaction entry: the mode is stored on the giveaway itself, not decided globally.

Concurrency limits

2 running giveaways free, 10 with Server Premium

The cap is checked when you start creating one, and checked again when the slash setup card's Launch button is pressed, because Server Premium can lapse in the minutes the card sits open. A server that was under the limit when the modal opened can still be refused at Launch.

Manage a running giveaway

Syntax

,giveaway pause [giveaway]

Example

,giveaway pause

,giveaway pause (aliases resume/unpause toggle the direction) freezes the countdown. Pausing stores how much time was left, not the clock's end time: resuming adds that same remainder back on top of the current moment, so a giveaway paused for a day doesn't lose that day.

Syntax

,giveaway end [giveaway]

Example

,giveaway end

,giveaway end (alias draw) ends it immediately and draws winners. ,giveaway cancel ends it with no winner drawn at all.

Syntax

,giveaway edit <field> <value…> [++target <link|id>]

Example

,giveaway edit winners 3

,giveaway edit changes one field on a live giveaway: host, prize, duration (restarts the countdown from now), winners, description, thumbnail, image, required roles, or a level floor/ceiling. Run with no field and it opens the edit panel instead.

Syntax

,giveaway list
and

Syntax

,giveaway entries [giveaway]

Example

,giveaway entries
are read-only: list shows this server's giveaways, entries shows how many people are in one and a sample of who.

Reroll a winner

Syntax

,reroll [messagelink]

Example

,reroll

,reroll is a prefix-only shortcut: there is no /reroll. It's a thin wrapper around the same logic as ,giveaway reroll, kept as its own command so typing ,reroll on its own still works the way it always has. Use /giveaway reroll if you're working from slash commands.

Requirements: checked at entry, not at the draw

Syntax

,giveaway edit requiredroles <roles…>

Example

,giveaway edit requiredroles @Member

Role requirements, an account-age floor, a server-join-age floor, and a level range are all enforced when someone tries to enter, not swept over the whole entry list later. That matters for what happens at draw time: only the member who actually gets drawn is re-checked against the requirements. If they no longer qualify (a required role was removed after they entered, say) they are dropped and the next winner is drawn from the rest, rather than the whole pool being re-verified on every draw.

Syntax

,giveaway edit minlevel <level>

Example

,giveaway edit minlevel 5

A level requirement reads the server's own leveling data, so it only does anything useful in a server that has leveling unlocked.

The panel

Syntax

,giveaway panel [giveaway]

Example

,giveaway panel

,giveaway panel (alias manage) opens the private host controls for one giveaway when you name it. Run with nothing and it opens a hub instead, with tabs for running giveaways, previous ones, and Defaults.

The Defaults tab needs Administrator, not just Manage Messages

Every other giveaway command only needs Manage Messages. Defaults sets what every future giveaway in the server inherits (entry mode, whether the live entry count shows, the ping role, the log channel) and that's a wider blast radius, so it's gated stronger than the rest of the panel on purpose. It's also checked again on every write inside the tab, since Administrator can be taken away from someone mid-session just as easily as it was granted.

Changing a default here only affects giveaways created after the change. Each giveaway copies the server's defaults onto itself the moment it's created: its ping role, log channel, entry-count setting, and entry mode are all its own from that point on, so editing the server defaults later never reaches back and rewrites a giveaway that's already running or already ended.

Common issues

A giveaway won't start, and the server hasn't hit any obvious limit. Check the concurrency cap: 2 running giveaways free, 10 with Server Premium. If premium lapsed after the setup card was opened, Launch refuses even though the modal itself opened fine.

Someone who should have won got skipped. They stopped meeting a requirement between entering and being drawn: a role was removed, or they left and rejoined under a stricter join-age floor. Only the drawn winner is re-checked, so this is a re-check catching a real change, not a bug in the draw.

,giveaway panel opens, but the Defaults tab is missing or refuses me. It needs Administrator, not Manage Messages. The rest of the panel works fine without it.

Changing a giveaway default didn't change a giveaway that's already running. That's expected: defaults are copied onto each giveaway when it's created, not read live. Edit the running giveaway directly with ,giveaway edit instead.

Nothing here fixed it. The shared common issues page works the same ground from the symptom end.