An open API service indexing awesome lists of open source software.

https://github.com/m-suro/mgiveaway

mGiveaway is a powerful and flexible Minecraft plugin for Paper servers that seamlessly integrates with Discord to host engaging giveaways. Players can participate in giveaways directly from Discord, and winners can be automatically rewarded in-game.
https://github.com/m-suro/mgiveaway

discord giveaways minecraft paper plugin spigot util

Last synced: 7 months ago
JSON representation

mGiveaway is a powerful and flexible Minecraft plugin for Paper servers that seamlessly integrates with Discord to host engaging giveaways. Players can participate in giveaways directly from Discord, and winners can be automatically rewarded in-game.

Awesome Lists containing this project

README

          


mGiveaway Banner


Boost your server community with exciting giveaways!

mGiveaway seamlessly integrates Discord and Minecraft,

allowing you to create engaging giveaways, set custom rewards,

and automatically deliver prizes to winners in-game.




GitHub Link


Discord Link


mGiveaway - Discord Minecraft Giveaway Plugin


Key Features Icon



  • Discord Integration: Slash commands for easy giveaway creation & management in Discord.


  • Automated Giveaways: Schedule start/end times for fully automated giveaways.


  • Configurable Requirements: Permissions, Groups/Roles (Vault), PlaceholderAPI values.


  • In-Game Rewards: Automatic execution of commands for winners.


  • Customizable Embeds: JSON configuration for rich Discord embed messages.


  • Dynamic Placeholders: Embeds update with time left, entries, winners, etc.


  • Giveaway Reminders: In-game broadcasts to notify players.


  • Statistics Tracking: Track entries and wins.


  • Extensive Text Config: config.yml for messages, UI text, etc.


  • Update Checker: In-game notifications for new versions.


Requirements Icon



  • Spigot: 1.17+ [Paper recommended]


  • PlaceholderAPI: 2.11.6+


  • Vault: 1.7+


Setup & Installation Icon



  1. Download & Install: Get mGiveaway-VERSION.jar from GitHub Releases and place in /plugins folder.

  2. Restart your server


  3. Configure Discord Bot in config.yml:

    • Create Bot at Discord Developer Portal.

    • Get Bot Token ("Bot" tab).

    • Paste Token into discord.bot.token in plugins/mGiveaway/config.yml




  4. Configure config.yml for:


    • prefix: In-game prefix.


    • broadcast_interval & broadcast_message: Giveaway reminders.


    • discord.bot settings (token, status, activity, channels, etc.) - Token & giveaway_channel REQUIRED.


    • discord.bot.command customization.


    • discord.bot.giveaway_embed, giveaway_end_embed, log_embed: JSON Embed customization (use Discord Embed Builder).


    • messages: All text messages.


    • giveaways: Define giveaway settings & requirements.




  5. Reload Plugin: Use /mgwreload or restart server.


Slash Command Icon

Use /create_giveaway (default) to create giveaways.


/create_giveaway name: prize: minecraft_prize: duration: winners: command: requirements:



  • name: REQUIRED: Internal giveaway name.


  • prize: REQUIRED: Formatted prize description (Discord).


  • minecraft_prize: REQUIRED: Plain-text prize (in-game broadcast).


  • duration: REQUIRED: Duration string (e.g., 2d 30m).


  • winners: REQUIRED: Number of winners.


  • command: REQUIRED: First reward command (%player% placeholder).


  • requirements: OPTIONAL: true/false (if the giveaway start should wait for requirements)

⚙️ Configuring Giveaways (config.yml - giveaways section):

See the example giveaway configuration (giveaways.5Diamonds) in the config.yml for a template. Key configuration options for each giveaway defined under the giveaways section:



  • settings: - Settings for the giveaway


    • scheduled_start: (Optional) Date and time to automatically start the giveaway at a future time. Format: dd/MM/yyyy HH:mm:ss (24-hour format). If not set, the giveaway starts immediately (or when manually forced).


    • end_time: REQUIRED: Date and time to automatically end the giveaway. Format: dd/MM/yyyy HH:mm:ss (24-hour format).


    • winners: REQUIRED: The number of winners for this giveaway.


    • commands: REQUIRED: Reward commands (%player%).


    • prize_formatted: REQUIRED: Discord prize description.


    • minecraft_prize: REQUIRED: In-game prize text.




  • requirements: (Optional)


    • group: Vault Group/Role.


      • <group_name>: value: true/false, formatted.




    • permission: Vault Permission.


      • <permission_node>: value: true/false, formatted.




    • placeholder: PlaceholderAPI value.


      • <placeholder_name>: over: <number> or under: <number>, formatted.






Placeholders Icon

For Giveaway and Giveaway End Embeds:


{TIME-LEFT}, {END-TIME}, {ENTRIES}, {WIN-COUNT}, {PRIZE}, {WINNERS}

For Log Embed:


{GIVEAWAY-NAME}, {ENTRIES-COUNT}, {PRIZE}, {COMMANDS}, {WINNERS-MENTIONS}, {ENTRIES-LIST}


Important Notes Icon

After making any changes to the config.yml file, remember to use /mgwreload in-game to reload the plugin.


Sometimes, the plugin pauses itself because of runtime errors. To restart it just reload it ;)

[![bStats: Paper Servers](https://bstats.org/signatures/bukkit/mGiveaway.svg)](https://bstats.org/plugin/bukkit/mGiveaway/24362)