Skip to main content

πŸŽ‰ Discord Giveaway Bot

A multilingual, per-guild configurable Discord giveaway bot built on Discord.js v14, persisted via MariaDB (Prisma). Restart-safe poll scheduler, entry via button, weighted winner draw with eligibility checks, and reroll. Developed and maintained by MSK Scripts.

License: AGPL-3.0 Β· Node.js 22+ Β· Discord.js v14 Β· Docs: docu.msk-scripts.de


βž• Add to Your Server​

The easiest way to use the bot is to invite the official public instance β€” no hosting, no database, no setup required.

πŸŽ‰ Invite the Giveaway Bot β†’

You can also retrieve this link at any time inside Discord with the /ginvite command.

Once the bot has joined, a server manager runs /gcreate to open a giveaway. Members join with a single button click, and the bot draws the winners automatically when the timer ends.


✨ Features​

FeatureDescription
πŸŽ‰ Button EntryMembers join with a single click β€” customisable emoji, label and button style
πŸ” Restart-SafeA poll-based scheduler means no giveaway is lost or orphaned, even after a reboot
πŸ‘₯ Weighted Bonus EntriesGrant specific roles extra entries (up to 100) for a fairer or reward-driven draw
πŸ›‘οΈ Eligibility RulesWhitelist / blacklist roles β€” server-wide or scoped to a single giveaway β€” plus minimum account age and server membership
⏸️ Pause & ResumeFreeze the timer mid-giveaway and resume seamlessly where you left off
πŸ—‚οΈ TemplatesSave and reuse giveaway configurations for recurring events
✨ RerollDraw fresh winners for any ended giveaway, respecting the blacklist
πŸ–₯️ Web DashboardCreate and fully manage giveaways and settings from the browser β€” Discord login, no commands required
πŸ† Public Results PagesEvery finished giveaway gets a shareable results page with the winners and participant count
🌐 MultilingualEnglish, German, French and Spanish β€” selectable per server
🎨 Per-Guild BrandingCustom embed colour, button emoji and style
πŸ“œ Audit LoggingOptional log channel records every giveaway event
πŸ§‘β€βš–οΈ Manager RoleDelegate giveaway control without handing out Manage Server
πŸ”’ Least-PrivilegeOnly the Guilds intent and minimal permissions β€” no message-content access

πŸ”‘ Required Permissions​

When invited via the link above, the bot requests exactly the permissions it needs (permission integer 478208):

PermissionWhy it is needed
View ChannelSee the channel the giveaway runs in
Send MessagesPost the giveaway message
Embed LinksRender the giveaway embed
Read Message HistoryLocate and edit its own giveaway message
Use External EmojisAllow a custom button emoji
Mention EveryonePing the configured notify role on creation

At runtime, allowedMentions restricts pings specifically to the configured notify role β€” the bot never mass-pings @everyone.

The bot uses only the Guilds gateway intent. It requires no privileged intents and opens no inbound port.


🌍 Live Statistics​

Anonymous, server-wide statistics of the official instance are available at msk-scripts.de/giveaway/stats β€” total servers, giveaways, entries and winners, plus language and status distribution. No server IDs, user IDs or other personal data are shown.


πŸ–₯ Web Dashboard​

Prefer a browser over slash commands? Server admins can manage everything at msk-scripts.de/giveaway/dashboard:

  1. Log in with Discord (you'll only see servers where you have Manage Server and the bot is present).
  2. Pick a server.
  3. Create, edit, extend, pause/resume, end, cancel and reroll giveaways β€” and change every per-server setting.

Behind the scenes the dashboard forwards each action to the running bot over a private, server-internal channel, so the Discord message, button, winner DMs and audit log stay perfectly in sync β€” exactly as if you had used the slash commands. Everything you do on the dashboard is still recorded in your log channel.


πŸ† Public Results Pages​

When a giveaway ends, the bot publishes a clean, shareable results page at msk-scripts.de/giveaway/g/<token> β€” linked automatically in the results message and in the winner DMs. It shows the giveaway title and prize, the winners and the number of participants. For privacy, the full participant list is never published. The page is removed automatically if the bot is removed from your server.


πŸ”’ Self-Hosting​

Running your own copy of this bot is neither supported nor encouraged. The source code is published for transparency β€” so users can see exactly how the bot behaves and fellow developers can learn from it β€” not as a ready-made product to redeploy. There is no support for installing, modifying, or building your own instance.

Just invite the official instance instead.


πŸ“ License​

AGPL-3.0 β€” source code must remain open and be published under the same license when distributed or hosted.