Giveaways

Start giveaways with one command — the draw and the ending run by themselves.

/gewinnspiel start preis:Rust-Skin dauer:3d gewinner:2

That is all it takes. The bot posts the message with a Teilnehmen (take part) button, keeps count, ends at the right time by itself and announces the winners.

The duration

A number plus a unit, no space: 30m, 6h, 3d, 1w. Anything else the bot rejects instead of guessing — otherwise nobody notices a mistyped giveaway that runs for a year.

Taking part

Only the button counts. Adding a reaction below the message does not enter you — even though almost every other giveaway bot works that way and the button itself carries a 🎉. If a giveaway ends with no entrants while reactions sit below it, the bot says so in the announcement instead of leaving anyone guessing.

One click joins, a second click withdraws. The button shows the current number of entrants.

Conditions that actually apply

The decisive difference from "it says so in the description": these conditions are checked at the moment of the click. Anyone who does not meet them never makes it into the pot in the first place and finds out straight away why — instead of believing for two days that they are in.

/gewinnspiel start preis:Nitro dauer:3d nur_rolle:@Member min_level:5 konto_alter:7
Option What it requires
nur_rolle Someone must have this role
min_level Minimum level from the Level & Ranking module
konto_alter The Discord account must be this many days old
dabei_seit Someone must have been on the server for this many days

konto_alter is the most effective one against second accounts: anyone who sets up ten accounts for a giveaway sets them up today, not a year ago. dabei_seit catches the people who only come to the server for the giveaway and are gone again afterwards.

All conditions appear in the giveaway message automatically, you do not have to write them out on top of that.

Anyone already in stays in — even if a role is taken away from them later. The check happens at entry, not retrospectively.

Bonus entries

/gewinnspiel start preis:Hoodie dauer:1w bonus_rolle:@Booster bonus_lose:2

Server boosters, subscribers, regulars — anyone with the named role gets additional entries and with them a correspondingly higher chance. With bonus_lose:2 that is three entries instead of one, so three times the chance.

Two things about this that you cannot see and should still know:

The entries are counted at the moment of the click. Otherwise someone could pick up a booster role shortly before the draw and have three times the chance retrospectively.

And more entries do not mean more prizes. Even with ten entries nobody can win twice — the draw is built so that weighting and uniqueness work together.

The draw

Without bonus entries, a Fisher-Yates shuffle: every order is equally likely, and nobody can win twice. That sounds like a detail, but it is the heart of the whole thing — a giveaway with a crooked draw damages trust in the server, and nobody would be able to prove it. That is why this particular part of the code is the most thoroughly tested in the entire module.

With bonus entries the same applies, only weighted. The obvious approach — throwing a name into the pot several times — would be wrong as soon as there is more than one winner: the same person could then get two prizes. Instead, Fishbot draws using a procedure in which duplicate entries double the chance and everyone still wins at most once.

When someone does not come forward

/gewinnspiel neuziehen

Draws new winners from the entrants who have not won yet. The previous winners stay excluded.

What happens when things go wrong

If the bot restarts while a giveaway is running, there are no consequences: on the first run after the start, whatever has come due is caught up. A giveaway can be up to a minute late as a result, but it is not lost.

If your subscription expires while a giveaway is running, it is still ended properly — the community should not be left waiting for nothing.

Commands

Command What it does
/gewinnspiel setup Colour, mention winners, message winners
/gewinnspiel start Start a giveaway, with conditions and bonus entries
/gewinnspiel ende End immediately and draw
/gewinnspiel neuziehen Draw new winners
/gewinnspiel liste What is currently running

Last updated: 14 October 2026