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
