Bot type
Discord giveaway bot maker
Timed giveaways with a join button, requirements and a re-roll command.
Giveaways bring members together, and they only work if people trust them. A good giveaway bot picks winners randomly, lets each member join once and keeps going after a restart.
With BotsMaker you describe the flow and the rules, for example a required role or a minimum time in the server. The bot saves active giveaways to a JSON file and restarts the timers on start-up.
Example description
A giveaway bot: /giveaway prize duration winners posts an embed with a Join button and a countdown. When it ends, the bot picks random winners, announces them, and /reroll picks a new winner. Only members with the Manage Server permission can start one. Save giveaways in a JSON file so they survive restarts.
Commands and parts
/giveaway prize duration winnersstarts a giveaway with a Join button/reroll message_idpicks a new winner/endgiveaway message_idends it earlyJoin (button)adds the member once
Surviving restarts
A timer in memory is lost when the bot restarts. The generated bot stores the end time of each giveaway on disk and recreates the timers when it starts, so a deploy does not cancel running giveaways.
Fair picking and requirements
Winners are picked at random from the members who clicked Join, one entry per member. You can require a role, a minimum account or server age, or exclude staff. Mention these in the description.
Who may start one
Set the command to need a permission such as Manage Server, so that only staff can start giveaways. Slash command permissions are enforced by Discord before the bot sees the command.
Announcements
The result is posted as an embed that pings the winners and links to the original message. Allowed mentions are limited to the winners so no one can abuse it.
Questions
Does it need privileged intents?⌄
No. Buttons and slash commands work without them.
Can I run several giveaways at the same time?⌄
Yes. Each one has its own message and entry list.
What happens if nobody joins?⌄
The bot tells the channel that there was no winner and marks the giveaway as ended.
Related guides
- How to make a Discord bot with AI, without coding7 min read
- Create a Discord bot token and invite link, step by step6 min read
- Discord slash commands explained: how bots receive them7 min read