Giveaways
Time-limited raffles with optional entry requirements, auto-draw, reroll, and a public landing page per giveaway.
How a giveaway works
- Staff starts a giveaway with a prize, duration, and winner count.
- Phantom posts an embed in the configured channel. Members react / click to enter.
- When the timer hits, Phantom auto-draws winners + announces them.
- Winners get DM'd; if a DM fails, the bot pings them in the channel.
Where it lives
Dashboard: Engagement → Giveaways. Also /pgiveaway slash commands.
Slash commands
/pgiveaway start— start a new giveaway/pgiveaway list— list active giveaways/pgiveaway info <id>— details of one giveaway/pgiveaway check <id>— see your entry count/pgiveaway end <id>— end early + draw now/pgiveaway cancel <id>— cancel without drawing (no winners)/pgiveaway reroll <id>— re-draw winners (e.g. original winner didn't claim)/pgiveaway pause <id>/resume <id>— pause / resume/pgiveaway entries <id>— list every entry (paginated)
Settings per giveaway
- Prize — what's being given away.
- Duration — how long the giveaway runs (e.g.
2h,3d). - Winner count — how many winners to draw.
- Channel — where to post.
- Required roles — only members with these can enter.
- Min level — only members at level N+ can enter (requires Levelling).
- Result visibility —
live(counts visible during the giveaway),after_close, orstaff_only. - Web page — when on, generates a public landing page at
phantombot.gg/g/<shortcode>with live entry counts.
Permissions
Requires engagement.edit to start/end/reroll. Member entry is open (gated by the giveaway's own requirement rules).
Tips
- Multiple winners for big prizes feels more generous than one winner getting everything.
- Don't auto-draw at 3 AM your timezone. Pick a duration so the draw lands when staff are around in case of issues.
- Reroll is your friend. If the drawn winner is inactive / a bot account / a banned member, reroll without restarting the giveaway.
- Public web pages drive cross-server discovery. Share the URL on social.
Behaviour
- Auto-draw uses an internal scheduler — fires within a few seconds of the deadline.
- The draw is cryptographically random.
- An in-flight set prevents a slow Discord call from triggering a double-draw if the scheduler ticks during the announcement.
Limits
- Entries are unbounded per member (configurable per giveaway).
- The public web page polls every few seconds for live entry counts.
