HomeJavaModsDiscordUtils | Track and Manage Your Server's Players | 1.18+ Support, Bug Fixes | [1.18-26.2]
DiscordUtils | Track and Manage Your Server's Players | 1.18+ Support, Bug Fixes | [1.18-26.2]
ModsJava

DiscordUtils | Track and Manage Your Server's Players | 1.18+ Support, Bug Fixes | [1.18-26.2]

⬇ Download on Spigot

[​IMG]
[​IMG] [​IMG] [​IMG]
[​IMG] [​IMG]
DiscordUtils is a utility and management Minecraft Plugin designed for Server Owners to easily share their Discord Server with the Minecraft Players. Additionally, the plugin allows you to apply various punishments for players/discord users, from both Minecraft and Discord.


Watch the showcase video!


Clicking the discord block
[​IMG]

Some configuring of the plugin [​IMG]

Features

And more ! Check the configuration files for all the features!


Main Configuration File
Spoiler
Everything you see here is subject to change!
Code (Text):

#Developed by _ItsAndrew_
#This file is for configuring the main settings of DiscordUtils.

#IMPORTANT! If you have a network of servers, and you have this plugin on those servers,
#set this value to true on ONE server and leave false on the REST OF THEM. If you don't,
#it will override the bot each time you open a server.
open-discord-bot: false

chat-prefix: "&9&lDU &8>>" #The chat prefix displayed in chat.

#Configure the database system. As you can see, by default the plugin is configured for SQLite.
database-system:
  #This is the type of the database. If you run a network with multiple servers,
  #use 'mysql'! If you run only 1 server, use 'sqlite'!
  type: sqlite
  file-name: "database.db" #This is ONLY for SQLite, and it is ONLY a name for the file

  #These are the settings for the MySQL database. If you don't use MySQL, you can ignore this.
  host: ""
  port: ""
  database: ""
  username: ""
  password: ""

#Broadcast custom message configuration
autobroadcast:
  toggle: true
  interval: 600 #In seconds. For example here the interval is 10 minutes. You will need to RESTART THE SERVER when changing this!
  message-lines: #Use '&' for styles.
    - "&c-----------------------------------------------------"
    - ""
    - "                    &9&lJOIN OUR DISCORD TODAY!"
    - ""
    - "    &7If you didn't know, our server has a &ldiscord server&7!"
    - "                    &7Do &e&l/discord &7for more info."
    - ""
    - "&c-----------------------------------------------------"

#Configure the discord block. Used for players to click it and get the link.
#TIP: For the custom head, go to https://minecraft-heads.com/ , search for a head and copy-paste the VALUE
discord-block:
  toggle: true #Whether you want this block or not.

  #Configure the particles
  particles:
    toggle: true #Whether you want particles or not.
    particle: PORTAL #TIP: Go to https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Particle.html to see each particle's name
    count: 40 #The number of particles spawned each time
    offsetX: 0.4 #The maximum random offset on the X axis
    offsetY: 0.5 #The maximum random offset on the Y axis
    offsetZ: 0.4 #The maximum random offset on the Z axis
    extra: 0 #Extra data for the particle (usually speed)

  world: "" #TIP: Look in your server's folder for the world name (ex: world, world_nether, world_the_end etc.)
  location: #Set the location for the block
    x: ""
    y: ""
    z: ""
  facing: "" #Set the facing for the block. (e.g. NORTH, WEST, EAST, SOUTH, NORTH_WEST etc.)
  custom-head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19"

#Configure the task of giving players the link.
discord-link: "" #Enter your discord's server invite link
link-appearance-choice: "book" #Whether you want a chat message or a book for displaying the link to the players. Values: 'book' / 'chat-message'
hover-text: "Click to enter our server!"
discord-link-word: "here" #The word which has the click and hover event
message-lines: #Use the discord-link-word in your message! The discord-link-word is 'here', so I use 'here' in the message.
  - "&c&lClick &9&lhere &c&lto join our discord server!"

#TIP: You may include as many details as you can if using the book!
book-pages: #Use the discord-link-word in your page! The discord-link-word is 'here', so I use 'here' in the page.
  - "&4&lOUR DISCORD\n\n&c&lClick &9&lhere &c&lto join our discord server!"

#Configure a 'fetching-data' mini task. This task runs after the player clicks on the discord-item in the GUI.
#P.S: It is only for 'professional appearance' :)
fetching-data:
  toggle: true #If you want this feature or not
  duration: 3 #In seconds

#Configure the Discord GUI shown to players
discord-gui:
  rows: 6 #The number MUST be between 1 and 6. (1 row has 9 SLOTS).
  title: "Get the discord link!" #Use '&' for styles.

  #Configure the exit item
  exit-item:
    toggle: true #Whether you want this item in the GUI or not
    slot: 40
    display-name: "&cEXIT"
    lore: #Leave blank for no lore
      -
    material: red_concrete

  #Configure the decorations.
  decorations:
    toggle: true #Toggle the decorations
    material: black_stained_glass_pane
    display-name: " "

  #Configure an info item. This item is for displaying additional information
  info-item:
    toggle: true
    slot: 4 #The slot in the GUI
    material: oak_sign #Material of the item
    display-name: "&eGet the &ldiscord server &elink" #Enter the display name of the item\
    lore: #Leave blank for no lore. Used for more additional information
      -

  discord-item: #This is the item gives players the discord link
    #To get a custom head, navigate to https://minecraft-heads.com, search for a head, scroll down and paste the VALUE
    use-custom-head: true
    custom-head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTNiMTgzYjE0OGI5YjRlMmIxNTgzMzRhZmYzYjViYjZjMmMyZGJiYzRkNjdmNzZhN2JlODU2Njg3YTJiNjIzIn19fQ=="

    #This uses a normal minecraft item. The 'use-custom-head' value must be set to FALSE for this to work.
    material: blue_concrete

    slot: 22
    display-name: "&9Click to get the &linvite link&9!" #Use '&' for styles
    lore: #Leave blank for no lore
      -


#Configure the verification codes task. For messages use '&' for styles.
verification-code-length: 6 #How many digits the verification code will have
verification-code-expire-time: 300 #In seconds!!!
player-already-verifying-message: "&cPlease finish this verification before starting a new one!"
player-is-already-verified-message: "&cYou are already verified!"
error-giving-rewards-message: "&cThere was a problem giving you the rewards. Contact the server administrators about this."
code-expired-message: "&cVerification code expired. Please run &l/verify &cagain."
# %code% -> display the code ; %expire_at% -> display the duration of the code (in minutes)
use-verification-code-message: #You can have more lines
  - "&aYour code is &e&l%code%&a! Do &e&l/verify <code> &ain our discord server to complete the verification."
  - "&cThe code will expire in &l%expire_at% minutes&c!"

player-verified-message: #You can have more lines.
  - "&aCongrats! You have officially been verified."

#Set the number of digits for the Punishment IDs.
punishment-id-length: 6 #The ID structure is '#' + the digits!

#Set the MINUTES for the inactivity. Helps to clean the AddingState map.
inactivity-minutes: 1

#Give rewards to the player when the player verifies.
rewards:
  toggle-giving-rewards: false #Whether you want to give rewards when a player verifies or not
  exp: 0 #In levels. It cannot be < 0!
  items: "" #The items for the reward.

#Configure the punishment messages.
player-punishments-messages:
  #The message when a player gets kicked from the MC server. Use '\n' for line breaks.
  #Placeholders: %scope% -> The scope for the kick
  #              %reason% -> The reason for the kick
  kick-message: "&cYou have been kicked from this server.\n\n&7Scope: %scope%\n&7Reason: &f%reason%"

  #The message when a player is permanently banned. Use '\n' for line breaks. THIS IS NOT TRIGGERED BY THE 'toggle' BOOLEAN!!!
  #Placeholders: %scope% -> The scope of the ban (Minecraft/Discord/Global)
  #              %reason% -> The reason for the ban
  #              %id% -> The ID of the ban. Useful for players to appeal!
  perm-ban-message: "&cYou are permanently banned from this server.\n\n&7Scope: %scope%\n&7Reason: &f%reason%\n\n&7Ban ID: &f%id%\n&7Use this ID to appeal."

  #The message when a player gets a perm-ban-warn.
  #Placeholders: %scope% -> The scope of the warning (Minecraft/Discord/Global)
  #              %reason% -> The reason of the warning
  perm-ban-warn-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou got a permanent ban warning."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - " "
    - "&4&l------------------------------------------"

  #The message when a player is temporarily banned. Use '\n' for line breaks. THIS IS NOT TRIGGERED BY THE 'toggle' BOOLEAN!
  #Placeholders: %time_left% -> The duration of the ban
  #              %scope% -> The scope of the ban (Minecraft/Discord/Global)
  #              %reason% -> The reason for the ban
  #              %id% -> The ID of the ban. Useful for players to appeal.
  #              %expiration_time% -> The date when the ban will expire
  temp-ban-message: "&cYou are temporarily banned for &f%time_left% &cfrom this server.\n\n&7Scope: %scope%\n&7Reason: &f%reason%\n&7Expires at: &f%expiration_time%\n\n&7Ban ID: &f%id%\n&7Use this ID to appeal."

  #The message when a player gets a temporary ban warning. Use '&' for styles.
  #Placeholders: %scope% -> The scope of the warning (Minecraft/Discord/Global)
  #              %reason% -> The reason of the warning
  temp-ban-warn-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou got a temporary ban warning."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - " "
    - "&4&l------------------------------------------"

  #The message when a player is permanently muted. Use '&' for styles.
  #Placeholders: %scope% -> The scope of the mute (Minecraft/Discord/Global)
  #              %reason% -> The reason of the mute
  #              %id% -> The id of the mute. Useful for players to appeal.
  perm-mute-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou are permanently muted on this server."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - " "
    - "&7 Ban ID: &f%id%"
    - "&7 Use this ID to appeal!"
    - " "
    - "&4&l------------------------------------------"

  #The message when a player gets a permanent mute warning. Use '&' for styles.
  #Placeholders: %scope% -> The scope of the warning (Minecraft/Discord/Global)
  #              %reason% -> The reason of the warning
  perm-mute-warn-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou got a permanent mute warning."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - " "
    - "&4&l------------------------------------------"

  #The message when a player is temporarily muted. Use '%' for styles.
  #Placeholders: %scope% -> The scope of the mute (Minecraft/Discord/Global)
  #              %reason% -> The reason of the mute
  #              %id% -> The id of the mute. Useful for players to appeal.
  #              %time% -> Displays the time of the mute
  #              %expiration_date% -> Displays the date when the mute expires
  temp-mute-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou are temporarily muted for &f%time_left% &con this server."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - "&7Expires at: &f%expiration_time%"
    - " "
    - "&7Mute ID: &f%id%"
    - "&7Use this ID to appeal!"
    - " "
    - "&4&l------------------------------------------"

  #The message when a player gets a temp mute warning.
  #Placeholders: %scope% -> The scope of the mute warning (Minecraft/Discord/Global)
  #              %reason% -> The reason for the mute warning.
  temp-mute-warn-message:
    - "&4&l------------------------------------------"
    - " "
    - "&cYou got a temporary mute warning."
    - " "
    - "&7Scope: %scope%"
    - "&7Reason: &f%reason%"
    - " "
    - "&4&l------------------------------------------"

#Set the amount of warns that a player must have to trigger a punishment.
warns-amount: 3

#Configure all the chat-messages for DiscordUtils.
error-gui-message: "&cThere was error opening the GUI. Contact the server administrators about this."
command-no-permission-message: "&cYou don't have permission to run this command."
block-no-permission-message: "&cYou don't have permission to get the link."
fetching-data-task-in-progress-message: "&cYou must wait before attempting again!"
fetching-data-chat-message: "&8Fetching data..."
error-task-message: "&cThere was an error giving the discord link. Contact the server administrators about this."

#Configure all the SOUNDS for DiscordUtils. The default value for volume and sound is 1!
#TIP: do /playsound ... in Minecraft to HEAR the sound and see the sound's NAME.
exit-item-sound: "ui.button.click"
eis-volume: 1
eis-pitch: 1

give-verification-code-sound: "block.note_block.pling"
gvcs-volume: 1
gvcs-pitch: 1

player-has-verified-sound: "entity.player.levelup"
phvs-volume: 1
phvs-pitch: 1.4

boardcast-message-sound: "block.note_block.pling"
bms-volume: 1
bms-pitch: 1

get-discord-link-sound: "entity.player.levelup"
gdls-volume: 1
gdls-pitch: 1.4

gui-error-sound: "entity.enderman.teleport"
ges-volume: 1
ges-pitch: 1

fetching-data-task-in-progress-sound: "entity.villager.no"
fdtips-volume: 1
fdtips-pitch: 0.9

task-error-sound: "entity.enderman.teleport"
tes-volume: 1
tes-pitch: 1

player-no-permission-sound: "entity.enderman.teleport" #This sound comes up when the player clicks the discord-block and doesn't have 'discordutils.use' permission
pnps-volume: 1
pnps-pitch: 1

open-discord-gui-sound: "entity.experience_orb.pickup"
odgs-volume: 1
odgs-pitch: 1

#Configure the help book. Use '\n' to go on a new line in a page
help-message-book-pages:
  - " &9&l  DISCORD UTILS        HELP MANUAL\n\n&41. &l/dcutils mainconfig\n  &4->opens the Configuration GUI."
  - "&42. &l/dcutils reload\n  &4->reloads the .yml files. Use when manually changing something in them.\n\n&43. &l/dcutils help\n  &4->brings up the help manual.\n\n&44. &l/discord\n  &4->Opens the GUI. Main command for players."
  - "&45. &l/verify\n  &4->starts the verification process.\n\n&46. &l/unverify\n  &4->unverifies the player.\n\n&47. &l/history \n  &4->view your own punishment history."
 



Discord Bot Configuration File
Spoiler
Everything you see here is subject to change!
Code (Text):

#Developed by _ItsAndrew_
#This file is for configuring the discord bot.

#Toggle the discord bot. Setting to true will enable it. Setting to false will disable it.
#If you change this while the server is running, you NEED to restart it.
toggle-discord-bot: false

#Configure the main bot principles
guild-id:  #This is the ID your discord server has. To get it, turn on 'Developer Mode', right click on your server and click on 'Copy ID'
bot-token:  #This is the token of a bot. To run the bot, you will need to create an app yourself in the Discord Developer Portal.
#After you create an app, go to 'bot' section, copy the token and paste it here. To invite the bot to your server, go to 'OAuth2' section and generate a URL.

#Enter the ID of which roles need to be deleted from the users when running '/startverification'.
#This is to help a task which automatically gives users from your server the 'Unverified' role and removing the other roles.
roles-to-be-deleted:
  -

#Messages. They support MARKDOWN! 'Set ephemeral' makes the message appear only to that user
invalid-expired-code-message: "**Invalid** or **expired** verification code!"
iecm-set-ephemeral: true
player-verified-message: "✅ You are now verified! Have fun on our server!"
pvm-set-ephemeral: true

#Set the minutes for the interactions
interaction-minutes: 2 #If a user is having an interaction and he doesn't do anything for some minutes, it removes the user from it.

#Set the Minimum and Maximum length for the punishment reason modal (In characters!)
minimum-length-reason: 5
maximum-length-reason: 2000

#Set the Minimum and Maximum length for the duration modal (In Characters!)
minimum-length-duration: 2
maximum-length-duration: 15

#Configure the punishment appeal. Use '\n' for line breaks
minimum-length-appeal: 75 #In characters!
maximum-length-appeal: 4000 #In characters! MAX IS 4000!!!
placeholder-appeal: "In detail, explain anything related to the punishment you've received. \nMINIMUM 100 WORDS!"
appeal-channel-id: "" #The channel where the appeals will show up

#Configure a task for command logging. You will need to set up a channel for this!
command-logging:
  toggle: true #Whether you want to use this feature or not.
  channel-id: "" #The id for the specific channel
  embed-color:
    RED: 0
    GREEN: 255
    BLUE: 255
  embed-title: "COMMAND RAN BY **%player_name%**" #Use %player_name% to display the player's name
  #Use '%command%' to display the command with it's arguments
  embed-description: "
  **Command Executed**: %command%
  "
  not-tracking-these-commands: #Here put the names of the commands you don't want to log
    - ""

#Configure the member join event. You will need to create 2 roles and a verify channel!
verification:
  verified-role-id: "" #This role will be a 'Member' type role. It will be used to let the user see the other channels
  unverified-role-id: "" #This one is used to only show the 'verify' channel
  verify-channel-id: "" #The ID of the verification channel. IT MUST BE EMPTY, WITH NO TEXT HISTORY!!!

  #Configure the verify channel embed. It is helpful for players to know what to do when they join the server.
  #For description, you can use '\n' for line breaks.
  #Placeholders: %server_name% -> Displays the discord server's name
  verify-channel-embed-description: "**Welcome to %server_name%!**\n\nTo start your adventure: \n1.) Head over to our **Minecraft Server**\n2.) Run */verify* to get a **code**\n3.) Come back here and run */verify <code>*\n4.) Have fun on our server!"
  verify-channel-embed-title: "VERIFY YOUR ACCOUNT!"
  verify-channel-embed-color: #This will work in R-red G-green B-blue format!
    RED: 138
    GREEN: 43
    BLUE: 226

#Configure the Timeout Role for the punishments. You will also have to create one for this.
timeout-role-id: ""

#Configure the Ban Channel and Banned Role ID. This is needed for users that are banned.
ban-role-id: ""
banned-users-channel:
  id: ""

  #Configure the embed that will be sent to the channel. For description, use '\n' for line breaks.
  embed-title: "HOW TO APPEAL"
  embed-color:
    RED: 255
    GREEN: 0
    BLUE: 0
  embed-description: "If you see this. You might have been banned on **discord** or **globally**.
  \nIf you think you didn't deserve the ban, here is how you can appeal your punishment.
  \n\n1️⃣You should have received a message in the DM with information of the ban. Go in the bot DM.
  \n\n2️⃣Run **/appeal** with the ID of your ban.
  \n\n3️⃣Complete the form that you were prompted. *Be careful! You only have **1** appeal.*
  \n\n4️⃣Wait for a response. We wish you luck !
  \n\n**P.S.**: If you didn't get a DM, click the button below to get your ban ID. Then, run **/appeal <id>** here!
  "

#Configure what role the user must have to use the specific command. You will enter the ID of the roles!!
pshistory-cmd-roles: #This only works for '/pshistory <ign>'!! Everyone will be able to run only '/pshistory'
  -

punish-cmd-roles:
  -

psremove-cmd-roles:
  -

reload-cmd-roles:
  -

RefreshVerification-cmd-roles:
  -

#Configure the logs system. This is for staff to see each punishment that has been applied.
use-logs: true #If you want to use logs or not.
logs:
  use-only-one-channel: false #This is if you want to use only one channel for ALL logs. (false -> no / true -> yes)
  channel-id: "" #The ID of the channel. Ignore this if you typed 'false' in 'use-only-one-channel'!!
  multiple-channel-id:
    warnings-channel-id: "" #The ID for the warnings channel. This channel will only show warnings!
    kicks-channel-id: "" #The ID for the kicks channel. This channel will only show kicks!
    mutes-channel-id: "" #The ID for the mute channel. This channel will only show mutes!
    bans-channel-id: "" #The ID for the ban channel. This channel will only show mutes!

#Punishments Messages in user's DM. These trigger when you apply a punishment. They are also vital for appealing!
user-punishments-messages:
  #This is the message when a user gets kicked from your server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the user's name.
  #              %server_name% -> Displays the discord server's name.
  #              %scope% -> Displays the scope of the punishment
  #              %reason% -> Displays the reason of the punishment
  kick-message: "Dear **%user%**,\n\nYou *have been kicked* from **%server_name%**.\n**Scope**: %scope%\n**Reason**: %reason%"

  #This is the message when a user is banned from the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the user's name.
  #              %server_name% -> Displays the discord server's name.
  #              %scope% -> Displays the scope of the punishment.
  #              %reason% -> Displays the reason of the punishment.
  permanent-ban-message: "Dear **%user%**, \n\nYou *have been **permanently** banned* from **%server_name%**. \n**Scope**: %scope%\n**Reason**: %reason%"

  #The message when a user gets a permanent ban warning on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %reason% -> The reason of the warning
  #              %scope% -> The scope of the warning
  permanent-ban-warn-message: "Dear **%user%**, \n\nYou *got* a **permanent ban warning** on *%server_name%.\n**Scope**: %scope%\n**Reason: %reason%"

  #The message when a user gets a temporary ban on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %reason% -> Displays the reason of the ban
  #              %scope% -> Displays the scope of the ban
  #              %time_left% -> Displays the duration of the ban
  #              %expiration_time% -> Displays the time when the ban will expire
  temporary-ban-message: "Dear **%user%**, \n\nYou *have been **temporarily** banned* for **%time_left%** from **%server_name%**.\n**Scope**: %scope%\n\n**Reason**: %reason%\n**Expires At**: %expiration_time%"

  #The message when a user gets a temporary ban warning on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %scope% -> Displays the scope of the warning
  #              %reason% -> Displays the reason of the warning
  temporary-ban-warn-message: "Dear **%user%**, \n\nYou *got* a **temporary ban warning** on *%server_name%*.\n**Scope**: %scope%\n**Reason**: %reason%"

  #The message when a user gets a permanent timeout on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the user's name
  #              %server_name% -> Displays the discord server's name
  #              %scope% -> Displays the scope of the timeout
  #              %reason% -> Displays the reason of the timeout
  permanent-timeout-message: "Dear **%user%**, \n\nYou *got* a **permanent timeout** on *%server_name%*. \n**Scope**: %scope%\n**Reason**: %reason%"

  #The message when a target user gets a permanent timeout warning on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %reason% -> Displays the reason of the warning
  #              %scope% -> Displays the scope of the warning
  permanent-timeout-warn-message: "Dear **%user%**, \n\nYou *got* a **permanent timeout warning** on *%server_name%*. \n**Scope**: %scope%\n**Reason**: %reason%"

  #The message when a target user gets a temporary timeout on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %time_left% -> Displays the duration of the timeout
  #              %expiration_time% -> Displays the date when the timeout will expire
  #              %reason% -> Displays the reason of the timeout
  #              %scope% ->Displays the scope of the timeout
  temporary-timeout-message: "Dear **%user%**, \n\nYou *got* a **temporary timeout** for *%time_left%* on *%server_name%*. \n**Scope**: %scope%\n**Reason**: %reason%\n**Expires At**: %expiration_time%"

  #The message when a target user gets a temporary timeout warning on the server. Use '\n' for line breaks. It supports MARKDOWN!!
  #Placeholders: %user% -> Displays the target user's name
  #              %server_name% -> Displays the discord server's name
  #              %reason% -> Displays the reason of the punishment
  #              %scope% -> Displays the scope of the punishment
  temporary-timeout-warn-message: "Dear **%user%**, \n\nYou *got* a **temporary timeout warning** on *%server_name%*. \n**Scope**: %scope%\n**Reason**: %reason%"
 


Versions & Server Types
DiscordUtils works best on Paper servers. This is because it uses some features that are only available on Paper servers. Other supported types are Spigot/Bukkit.
As for the versions, the plugin works on 1.19 and upwards, but it might also work on older versions (1.16.5 max).



Commands
/dcutils mainconfig -> Opens up the main configuration -> discordutils.commands.mainconfig
/dcutils punishments -> Opens the Punishments Menu -> discordutils.commands.punishments
/dcutils reload -> Reloads the configuration files -> discordutils.commands.reload
/dcutils help -> Opens the help manual -> discordutils.commands.help
/discord -> Opens the Discord GUI -> discordutils.discord
/verify -> Starts the verification process -> discordutils.verify
/unverify -> Unverifies the player -> discordutils.unverify
/history -> Opens the player's punishment history -> discordutils.viewhistory



Permissions

Spoiler
Code (Text):
discordutils.commands -> Allows the player to use the configuration commands[/COLOR][/SIZE][/CENTER][/COLOR][/SIZE][/CENTER][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=#4da6ff]
[CENTER][SIZE=4][COLOR=#4da6ff]
[CENTER][SIZE=4][COLOR=#4da6ff]
[CENTER]discordutils.commands.reload -> Allows the player to reload the configuration files
discordutils.commands.help -> Allows the player to open the Help Manual
discordutils.commands.mainconfig -> Allows the player to open the main configuration menu
discordutils.commands.punishments -> Allows the player to open the Punishments Menu
discordutils.punishments.add -> Allows the player to add punishments
discordutils.punishments.add.permban -> Allows the player to add a permanent ban
discordutils.punishments.add.tempban -> Allows the player to add a temporary ban
discordutils.punishments.add.kick -> Allows the player to apply a kick
discordutils.punishments.add.permbanwarn -> Allows the player to apply a permanent ban warn
discordutils.punishments.add.tempbanwarn -> Allows the player to apply a temporary ban warn
discordutils.punishments.add.permmute -> Allows the player to apply a permanent mute/timeout
discordutils.punishments.add.tempmute -> Allows the player to apply a temporary mute/timeout
discordutils.punishments.add.permmutewarn -> Allows the player to apply a permanent mute/timeout warning
discordutils.punishments.add.tempmutewarn -> Allows the player to apply a temporary mute/timeout warning
discordutils.punishments.remove -> Allows the player to remove punishments
discordutils.punishments.remove.permban -> Allows the player to remove a permanent ban
discordutils.punishments.remove.tempban -> Allows the player to remove a temporary ban
discordutils.punishments.remove.kick -> Allows the player to remove a kick
discordutils.punishments.remove.permbanwarn -> Allows the player to remove a permanent ban warning
discordutils.punishments.remove.tempbanwarn - > Allows the player to remove a temporary ban warning
discordutils.punishments.remove.permmute -> Allows the player to remove a permanent mute/timeout
discordutils.punishments.remove.tempmute -> Allows the player to remove a temporary mute/timeout
discordutils.punishments.remove.permmutewarn -> Allows the player to remove a permanent mute/timeout warning
discordutils.punishments.remove.tempmutewarn -> Allows the player to remove a temporary mute/timout warning
discordutils.punishments.playerhistory -> Allows the player to view other players` punishment history
 









Bugs and Support

Found a bug and want to report it? Submit it here or DM me on discord: _itsandrew_



Credits

DiscordUtils was and is being developed by _ItsAndrew_. The current version of the plugin is 1.1!

If you like/dislike DiscordUtils, please write a review as it helps others discover it!
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

DiscordUtils | Track and Manage Your Server's Players | 1.18+ Support, Bug Fixes | [1.18-26.2] is a free Minecraft Java mod. Compatible with Minecraft 1.18, 1.19, 1.20, 1.20.6 and newer. Downloaded 63 times (via Spigot). Download it and open it directly in the game.

Explore more