43a69545f5
Feature/create parent for configs |
||
---|---|---|
.github/workflows | ||
src/main | ||
.gitignore | ||
LICENSE | ||
pom.xml | ||
README.md |
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
- Use
-
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.
- Allows editing of server response messages (file is located at
-
Use Discord server/guild role ids instead of role names:
- Allows the use of ids of roles instead of names, for example:
445666895333687347
instead ofAdmin
- To enable this set '
use-id-for-roles
' totrue
- 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
- Allows the use of ids of roles instead of names, for example:
-
Reload command:
- Use the command '
dwreload
' or 'discordwhitelisterreload
' to reload the config and re-initialize the bot without having to restart the Minecraft server
- Use the command '
-
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 bywhitelisted-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
- The bot to have the
-
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.