Spigot plugin that allows whitelisting users through a discord text channel.
Go to file
2021-03-18 02:08:05 +00:00
.github/workflows Create codeql-analysis.yml 2020-11-27 21:10:18 +00:00
src/main combine all roles into array once at start up, added extra checks for role startup check, fixed sending the Unwhitelist function discord ID instead of their minecraft names, fixed role check not triggering due to checking for role id not role name 2021-03-18 02:08:05 +00:00
.gitignore moving premium version back over 2020-10-29 00:08:22 +00:00
LICENSE Create LICENSE 2020-11-27 21:08:51 +00:00
pom.xml version bump 2021-03-13 13:25:58 +00:00
README.md Update README.md 2020-06-05 12:14:46 +01:00

Discord Whitelister Bot for Spigot

A simple spigot plugin which allows whitelisting through a discord text channel. This provides an easy way for users to whitelist without needing to be on the minecraft server.

Features:

  • 3 separate role groups:

    • add-remove group: allows the user to add and remove users from the whitelist an unlimited amount of times (recommended for owners and admins)
    • add group: allows the user to add to the whitelist an unlimited amount of times (recommended for moderators)
    • limited-add group: allows the user to whitelist a limited amount of times (recommended for users, default amount is 3)
    • limited-add group can be disabled in the config (enabled by default)
  • Removed list:

    • This list removes the ability for limited-add users to add back users that have been removed by the add-remove group
    • Can be disabled in the config (enabled by default)
  • Discord commands:

    • Use !whitelist add "minecraftUsername" in a valid channel to whitelist people on your minecraft server
    • Use !whitelist remove "minecraftUsername" in a valid channel to remove people from the whitelist on your minecraft server
    • Use !whitelist in a valid channel to get info about the bot and how to use it
  • Custom Message Support:

    • Allows editing of server response messages (file is located at (server-root)/plugins/DiscordWhitelister/custom-messages.yml)
    • This feature is disabled by default and can be enabled in the config file (use-custom-messages)
    • Note: Only message variables ({Sender} for example) in the original messages will be evaluated. For example: using {MaxWhitelistAmount} in the "insufficient-permissions" string/message will not work as it was never in the original string/message.
  • Use Discord server/guild role ids instead of role names:

    • Allows the use of ids of roles instead of names, for example: 445666895333687347 instead of Admin
    • To enable this set 'use-id-for-roles' to true
    • Example of relevant fields changed in the config to use ids:
      add-remove-roles:
      - 446223693887176704
      add-roles:
      - 485463455940214794
      limited-add-roles:
      - 639221397981233162
      use-id-for-roles: true
      
  • Reload command:

    • Use the command 'dwreload' or 'discordwhitelisterreload' to reload the config and re-initialize the bot without having to restart the Minecraft server
  • Automatically add/remove a role when adding/removing to/from the whitelist

    • This feature is meant to be used when users can add themselves to the whitelist.
    • If whitelisted-role-auto-add is set to true (false by default), the Discord role with the name defined by whitelisted-role ("Whitelisted" by default) will be added to that user when they successfully add (themselves) to the whitelist.
    • If whitelisted-role-auto-remove is set to true (false by default), that role will be removed from that user when they successfully remove (themselves) from the whitelist.
    • This requires:
      • The bot to have the Manage Roles permission in Discord
      • Setting up a Discord role with the same name (case sensitive) as the config
      • The bot's role must be higher than the whitelist role
  • Only select Discord roles can whitelist through the bot

  • Bot only listens for messages in select text channels

  • Logs whitelist attempts from valid roles in the console

Set Up:

Config file is located at: (server-root)/plugins/DiscordWhitelister/discord-whitelister.yml, this needs a valid bot token and valid channel id(s) to work. To create a Discord application and/or find your discord bot token, follow this link: https://discordapp.com/developers/applications/

Here is a short video showing all the steps needed to configure the bot: https://youtu.be/OqaeItuLefU

Backwards compatibility (Only applies to versions lower than v1.2.0)

Version 1.2.0 onwards are not compatible with version 1.1.x and lower. This is due to the layout of user-list.yml being changed. You will need to remove user-list.yml manually and let the plugin create a new one. If you upgrade without doing so, registration will not work correctly.