▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/DiscordIO
DiscordIO

DiscordIO

Whitelist with discord, ban with discord. Get notified when the server starts/stops. Get minecraft messages in discord. Fabric/Velocity

310
6
⚠️ Warning ⚠️
This project is still under development. There may still be bugs/crashes! (please report them on github.com)
If you are upgrading to a newer version, you will need to upgrade your language.yml and config.yml yourself (data.yml is done automatically).

Features

  • Works on both Velocity proxies and Fabric servers
  • Whitelisting feature to people make whitelist requests via discord
  • (Un)Banning feature to punish those that are annoying (kick them multiple times, ban them permanently/for a certain duration)
  • Highly configurable (see config.yaml and language.yml for all the things you can mess with)
  • Maintenance mode, disallows everyone from joining the server except those specified in the config + disables all event messaging
  • Custom discord messages on server start and stop
  • Custom discord messages when players connect and disconnect
  • Custom discord message when players message in minecraft
  • Custom minecraft messages when user messages on discord

Configs:

config.yml version 0.8.0

See github.com for an up to date version

# !This file must be setup before using this plugin!
# Once a feature is enabled, disabling it again may result in undefined behavior
# If you really want to disable a feature, but this wrecks your whitelist/install, you should delete the data.yml file

# See /plugins/discordio on how to get a token
botToken:   "Insert your token here, see the /plugins/discordio on how to get a token"
# Guild ID is needed for adding commands
guildId:    "Insert your guild id here (the ID of your discord server)"

# Discord messages for in game events
events:
  # On server start message
  onStart:
    enabled: false
    channel: "id..."

  # On server stop message
  onStop:
    enabled: false
    channel: "id..."

  # On player join message
  onJoin:
    enabled: false
    channel: "id..."

  # On player leave message
  onLeave:
    enabled: false
    channel: "id..."

  # On discord/minecraft message forward it
  onMessage:
    enabled: false
    minecraftToDiscord: true
    discordToMinecraft: true

    # Uncomment the one that applies to your server type:

    # For fabric:
    # channels:
    #   fabric: "id..."

    # For velocity
    # (The server names are the ones specified in the velocity.toml file you configured)
    # Do not share discord channels if you have discordToMinecraft enabled
    # channels:
    #   server1: "id..."
    #   server2: "id..."


# If enabled, will use the UUID registered at mojang for verification
# !The server must be in online mode to use this!
# You currently cannot change this setting after you have someone whitelisted, so choose carefully
# If you really want to change this, delete the data.yml file (this will remove all whitelisted players, they will need to be whitelisted again)
useUUID: true
# If enabled only one minecraft account is allowed per discord user
# You currently cannot change this setting after you have someone whitelisted, so choose carefully
# If you really want to change this, delete the data.yml file (this will remove all whitelisted players, they will need to be whitelisted again)
connectAccounts: true

# If set to false, this plugin will delete all the interactable messages on shutdown, to then resend them on startup
# If set to true, this plugin will disable all the interactable messages on shutdown, to then enable them again on startup (so no annoying ping when the server starts up)
disableOnShutdown: true

# Combine the whitelist, ban and unban request message in one single request message
squashedRequest:
  enabled: false
  channel: "id..."

# Whitelisting via discord
whitelist:
  enabled: false

  # Should this plugin give someone that is whitelisted a special role
  giveRoleOnWhitelist: false
  # The role to give a player when he is whitelisted (only if giveRoleOnWhitelist=true)
  # Enable developer options to get the role ID easily from the discord server settings:
  whitelistedRoleID: ""

  onAccept:
    enabled: true
    channel: "id..."
  onDeny:
    enabled: true
    channel: "id..."
  request:
    enabled: true
    channel: "id..."
    checkRoles: false
    allowedRoles: []
  voting:
    # If disabled, a request will imply immediate whitelist
    enabled: true
    channel: "id.."
    checkRoles: false
    allowedRoles: []
    acceptVotes: "50%"
    denyVotes: "1"

# Banning via discord
banning:
  enabled: false

  # Should this plugin give someone that is banned a special role
  giveRoleOnBan: false
  # The role to give a player when he is banned (only if giveRoleOnBan=true)
  # Enable developer options to get the role ID easily from the discord server settings:
  bannedRoleID: ""

  onAccept:
    enabled: true
    channel: "id..."
  onDeny:
    enabled: true
    channel: "id..."
  request:
    enabled: true
    channel: "id..."
    checkRoles: false
    allowedRoles: []
    # Choose one of the following ways a user can choose who he wants to ban:
    # - "discord" select the discord username they want banned (cannot be used if connectAccounts=false)
    # - "minecraft" select the minecraft username they want banned
    identifier: "discord"
  punishment:
    # If disabled, a request will proceed as a perm ban request to reason picking
    enabled: true
    channel: "id..."
    checkRoles: false
    allowedRoles: []
    acceptVotes: "50%"
    denyVotes: "1"
    punishments:
      # If you do not keep the none punishment, the admins cannot deny a ban request
      "None":
        type: None
      "Permanent ban":
        type: PermBan
      "5m ban":
        type: Ban
        duration: 300
      "1h ban":
        type: Ban
        duration: 3600
      "2h ban":
        type: Ban
        duration: 7200
      "1d ban":
        type: Ban
        duration: 86400
      "kick 1x":
        type: Kick
        duration: 1
      "kick 3x":
        type: Kick
        duration: 3
      "No unban 2h":
        type: NoUnban
        duration: 7200
  reason:
    # If disabled, a request will keep the reason of the request
    enabled: true
    channel: "id..."
    checkRoles: false
    allowedRoles: []
    acceptVotes: "50%"
    denyVotes: "1"

# Unbanning via discord
unban:
  enabled: false

  onAccept:
    enabled: true
    channel: "id..."
  onDeny:
    enabled: true
    channel: "id..."
  request:
    enabled: true
    channel: "id..."
    checkRoles: false
    allowedRoles: []
  voting:
    # If disabled, a request will imply immediate unban
    enabled: true
    channel: "id.."
    checkRoles: false
    allowedRoles: []
    acceptVotes: "50%"
    denyVotes: "1"

maintenance:
  # Disables events and rejects everyone not on the crew list
  enabled: false
  # Enable maintenance mode from the config:
  inMaintenance: false
  # Players allowed to join during maintenance
  # Use UUID's if useUUID=true, else use player names
  # This does not override the whitelist and banning features, you still need to be whitelisted to enter
  # A UUID should be without dashes so: 123456789abcdefghijklmni12345678
  crew: ["player1", "player2"]
  # Command to enable maintenance mode via discord
  command:
    enabled: false
    checkChannel: false
    allowedChannels: ["id..."]
    checkRoles: false
    allowedRoles: []
  # On start messages
  onStart:
    enabled: false
    channel: "id..."
  # On end message
  onStop:
    enabled: false
    channel: "id..."

# A discord command to see if someone is whitelisted or not (and if the person has punishments)
infoCommand:
  enabled: false
  checkChannel: false
  allowedChannels: ["id..."]
  checkRoles: false
  allowedRoles: []
language.yml version 0.8.0

See github.com for an up to date version

embeds:
  #
  # *************************************************************************
  #  Events                                                                 *
  # *************************************************************************
  #
  events:
    embeds:
      onStart:
        title: "-------------[Online]-------------"
        description: ":green_circle: **Proxy** is online!"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      onStop:
        title: "-------------[Offline]-------------"
        description: ":no_entry: **Proxy** is offline!"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      onJoin:
        title: "-------------[Connected]-------------"
        description: "**${PLAYER_NAME}** joined the server!"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/240.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      onLeave:
        title: "-------------[Disconnected]-------------"
        description: "**${PLAYER_NAME}** left the server!"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/240.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      onMessage:
        description: "[${PLAYER_NAME}] ${MESSAGE}"


  #
  # *************************************************************************
  #  Squashed request                                                       *
  # *************************************************************************
  #

  squashedRequest:
    embeds:
      request:
        title: "Do you want to request something?"
        description: "Click the buttons below to get **whitelisted**, request a **ban** or request an **unban**"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          whitelist:
            label: "Request whitelist"
            emoji: "U+2705"
          ban:
            label: "Request ban"
            emoji: "U+2705"
          unban:
            label: "Request unban"
            emoji: "U+2705"
        color: "blue"


  #
  # *************************************************************************
  #  Whitelisting                                                           *
  # *************************************************************************
  #
  whitelist:
    embeds:
      alreadyWhitelisted:
        title: "Sorry, you already made a whitelist request."
        description: "You are either already whitelisted, or you made a request previously that is being approved. Please wait patiently"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      request:
        title: "Request access"
        description: "Do you also want to be whitelisted?\nClick the button below to request access to the minecraft server!"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          button:
            label: "Request whitelist"
            emoji: "U+2705"
        color: "BLUE"

      notAllowed:
        title: "You are not allowed to request to be whitelisted (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      requestConfirm:
        title: "Is this you?"
        description: "Check if the skin below is from your account **${PLAYER_NAME}**"
        imageUrl: "https://minotar.net/body/${PLAYER_NAME}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          confirm:
            label: "This is me"
            emoji: "U+2705"
          cancel:
            label: "Cancel"
            emoji: "U+26D4"
        color: "BLUE"

      notFound:
        title: "Your player was not found"
        description: "Your player was not found at the Mojang servers"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      requestCanceled:
        title: "Request was canceled"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      requestConfirmed:
        title: "Your request will be reviewed by the admins"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      voting:
        title: "Whitelist request"
        description: "The discord user <@${DISCORD_UUID}> would like to have his minecraft account **${PLAYER_NAME}** to be whitelisted.\n**${ACCEPT_VOTES}** votes are in favor, **${DENY_VOTES}** votes are against. (${MIN_ACCEPT_VOTES} votes are needed to accept and ${MIN_DENY_VOTES} votes are needed to deny the request)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          accept:
            label: "Accept"
            emoji: "U+2705"
          deny:
            label: "Deny"
            emoji: "U+26D4"
        color: "GREEN"

      votingDenied:
        title: "Whitelist request - Denied"
        description: "The request from the user <@${DISCORD_UUID}> to have **${PLAYER_NAME}** be whitelisted was denied"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      votingAccepted:
        title: "Whitelist request - Accepted"
        description: "The request from the user <@${DISCORD_UUID}> to have **${PLAYER_NAME}** be whitelisted was accepted"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      votingNotAllowed:
        title: "You are not allowed to vote (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      publicDenied:
        title: "Whitelisted denied"
        description: "**${PLAYER_NAME}** did not get whitelisted\n(Requested by <@${DISCORD_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      publicAccepted:
        title: "Whitelist accepted"
        description: "**${PLAYER_NAME}** got whitelisted\n(Requested by <@${DISCORD_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

  #
  # *************************************************************************
  #  Banning                                                               *
  # *************************************************************************
  #
  banning:
    embeds:
      request:
        title: "Request punishment"
        description: "Is someone being annoying?\nClick the button below to request a ban"
        actions:
          button:
            label: "Request ban"
            emoji: "U+2705"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      alreadyRequested:
        title: "Sorry, you already made a ban request."
        description: "You made a ban request previously that is being approved. Please wait patiently"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      playerNotFound:
        title: "That discord user is not registered"
        description: "The discord user does not have a minecraft account linked. The request is ignored"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      requestNotAllowed:
        title: "You are not allowed to request a ban (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      requestConfirm:
        title: "Do you want to ban this user?"
        description: "1. Do you want to request a ban of **${PLAYER_NAME}** with the following reason: '*${REASON}*'.\n2. Check if the skin below is from the account **${PLAYER_NAME}**"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        actions:
          confirm:
            label: "This is him"
            emoji: "U+2705"
          cancel:
            label: "Cancel"
            emoji: "U+26D4"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      requestNotFound:
        title: "The user was not found"
        description: "There was no account found associated with the discord user"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      requestCanceled:
        title: "Request was canceled"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      requestConfirmed:
        title: "Your request will be reviewed by the admins"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      punishmentPicker:
        title: "Ban request - Punishment"
        description: "The discord user <@${REQUESTER_UUID}> would like to have the minecraft account **${PLAYER_NAME}** to be banned because:\n\"${REASON}\""
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          punishment:
            label: "Punishment"
        color: "ORANGE"

      punishmentVoting:
        title: "Ban request - Punishment"
        description: "The discord user <@${REQUESTER_UUID}> would like to have the minecraft account **${PLAYER_NAME}** to be banned because:\n\"${REASON}\".\n <@${ADMIN_UUID}> suggests **${PUNISHMENT}** \n**${ACCEPT_VOTES}** votes are in favor, **${DENY_VOTES}** votes are against. (${MIN_ACCEPT_VOTES} votes are needed to accept and ${MIN_DENY_VOTES} votes are needed to deny the request)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          accept:
            label: "Accept"
            emoji: "U+2705"
          deny:
            label: "Deny"
            emoji: "U+26D4"
        color: "ORANGE"

      punishmentDecided:
        title: "Ban request - Punishment"
        description: "**${PLAYER_NAME}** will get the following punishment: **${PUNISHMENT}**"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      punishmentVotingNotAllowed:
        title: "You are not allowed to vote (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      reasonPicker:
        title: "Ban Request - Reason"
        description: "The discord user <@${REQUESTER_UUID}> would like to have the minecraft account **${PLAYER_NAME}** to receive a ${PUNISHMENT} because:\n\"${ORIGINAL_REASON}\". This reason was denied, what should the reason be?"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          change:
            label: "Change reason"
        color: "ORANGE"

      reasonFirstVote:
        title: "Ban request - Reason"
        description: "The discord user <@${REQUESTER_UUID}> would like to have the minecraft account **${PLAYER_NAME}** to receive a ${PUNISHMENT} because:\n\"${REASON}\".\n Is this a good **reason**? \n**${ACCEPT_VOTES}** votes are in favor, **${DENY_VOTES}** votes are against. (${MIN_ACCEPT_VOTES} votes are needed to accept and ${MIN_DENY_VOTES} votes are needed to deny the request)"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          accept:
            label: "Accept"
            emoji: "U+2705"
          deny:
            label: "Deny"
            emoji: "U+26D4"
        color: "ORANGE"

      reasonVoting:
        title: "Ban request - Reason change"
        description: "The discord user <@${REQUESTER_UUID}> would like to have the minecraft account **${PLAYER_NAME}** to receive a ${PUNISHMENT} because:\n\"${ORIGINAL_REASON}\".\n\n <@${ADMIN_UUID}> suggests to change the reason to \"${REASON}\" \n\n**${ACCEPT_VOTES}** votes are in favor, **${DENY_VOTES}** votes are against. (${MIN_ACCEPT_VOTES} votes are needed to accept and ${MIN_DENY_VOTES} votes are needed to deny the request"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          accept:
            label: "Accept"
            emoji: "U+2705"
          deny:
            label: "Deny"
            emoji: "U+26D4"
        color: "ORANGE"

      reasonDecided:
        title: "Ban request - Accepted"
        description: "**${PLAYER_NAME}** will get the following punishment: **${PUNISHMENT}**. This because \"${REASON}\""
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      reasonVotingNotAllowed:
        title: "You are not allowed to vote (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      publicDenied:
        title: "Punishment denied"
        description: "**${PLAYER_NAME}** did not get a punishment\n(Requested by <@${REQUESTER_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      publicAccepted:
        title: "Punishment accepted"
        description: "**${PLAYER_NAME}** got a *${PUNISHMENT}* because '*${REASON}*'\n(Requested by <@${REQUESTER_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

  #
  # *************************************************************************
  #  Unbanning                                                              *
  # *************************************************************************
  #
  unban:
    embeds:
      alreadyRequested:
        title: "Sorry, you already made a unban request."
        description: "You made a ban request previously that is being approved. Please wait patiently"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      notBanned:
        title: "You are not banned."
        description: "You are not banned, so you cannot request an unban. (poor you)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      playerNotFound:
        title: "You are not yet registered as a minecraft player"
        description: "Please first get yourself whitelisted before you try to get unbanned. The request is ignored"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "BLUE"

      request:
        title: "Request unban"
        description: "Do you want to be unbanned?\nClick the button below to request an unban!"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          button:
            label: "Request unban"
            emoji: "U+2705"
        color: "YELLOW"

      notAllowed:
        title: "You are not allowed to request to be unbanned (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      noUnbanPunishment:
        title: "You are not allowed to request to be unbanned (you have a punishment disallowing you to be unbanned)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      requestPlayerPicker:
        title: "Pick for who you want to request an unban"
        description: "Use the select attached to pick a player:"
        actions:
          minecraftUser:
            label: "Minecraft account"
        color: "BLUE"

      requestConfirm:
        title: "Do you want to unban the following player?"
        description: "1. Do you want to request a removal of **${PUNISHMENT_NAME}** for **${PLAYER_NAME}** with the following reason: '*${REASON}*'.\n2. Check if the skin below is from the account **${PLAYER_NAME}**"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          confirm:
            label: "This is me"
            emoji: "U+2705"
          cancel:
            label: "Cancel"
            emoji: "U+26D4"
        color: "BLUE"

      requestCanceled:
        title: "Request was canceled"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      requestConfirmed:
        title: "Your request will be reviewed by the admins"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"

      voting:
        title: "Unban request"
        description: "The discord user <@${REQUESTER_UUID}> would like to have his punishment **${PUNISHMENT_NAME}** removed from his minecraft account **${PLAYER_NAME}**.\n He has given the following reason:\n *${REASON}* \n\n**${ACCEPT_VOTES}** votes are in favor, **${DENY_VOTES}** votes are against. \n(${MIN_ACCEPT_VOTES} votes are needed to accept and ${MIN_DENY_VOTES} votes are needed to deny the request)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        actions:
          accept:
            label: "Accept"
            emoji: "U+2705"
          deny:
            label: "Deny"
            emoji: "U+26D4"
        color: "YELLOW"

      votingDenied:
        title: "Unban request - denied"
        description: "The request from the user <@${REQUESTER_UUID}> to have his punishment **${PUNISHMENT_NAME}** removed from **${PLAYER_NAME}** was denied"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      votingAccepted:
        title: "Unban request - accepted"
        description: "The request from the user <@${REQUESTER_UUID}> to have his punishment **${PUNISHMENT_NAME}** removed from **${PLAYER_NAME}** was accepted"
        imageUrl: "https://minotar.net/helm/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      votingNotAllowed:
        title: "You are not allowed to vote (you do not have the correct discord role)"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      publicDenied:
        title: "Unban denied"
        description: "**${PLAYER_NAME}'s** punishment *${PUNISHMENT_NAME}* wasn't removed. \n(Requested by <@${REQUESTER_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "RED"

      publicAccepted:
        title: "Unban accepted"
        description: "**${PLAYER_NAME}'s** punishment *${PUNISHMENT_NAME}* was removed.\n(Requested by <@${REQUESTER_UUID}>)"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

  #
  # *************************************************************************
  #  Maintenance                                                            *
  # *************************************************************************
  #

  maintenance:
    embeds:
      onStart:
        title: "------------[Maintenance]------------"
        description: "Sorry, the server is in maintenance mode, you cannot join right now"
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "YELLOW"

      onStop:
        title: "------------[Maintenance]------------"
        description: "The server is back online, the maintenance has ended."
        footer:
          message: "${CURRENT_DATE} ${CURRENT_TIME}"
        color: "GREEN"

      notAllowed:
        title: "Sorry, you are not allowed to use this command"

      wrongChannel:
        title: "Sorry, you cannot use this command in this channel"

      incomplete:
        title: "Please specify if the bot must start or stop the maintenance mode"
        color: "RED"

      command:
        title: "Consider it done boss"

  #
  # *************************************************************************
  #  Info command                                                           *
  # *************************************************************************
  #

  infoCommand:
    embeds:
      notAllowed:
        title: "Sorry, you are not allowed to use this command"

      wrongChannel:
        title: "Sorry, you cannot use this command in this channel"

      incomplete:
        title: "Please specify a user, the command args are imcomplete"
        color: "RED"

      notRegistered:
        title: "That discord user isn't registered in the server"
        description: "<@${DISCORD_UUID}> doesn't have a minecraft account whitelisted"
        color: "BLUE"

      command:
        title: "*${PLAYER_NAME}*"
        description: "${PLAYER_NAME}, registered by <@${DISCORD_UUID}>.\n This player has the following punishments:\n"
        imageUrl: "https://minotar.net/body/${PLAYER_KEY}/100.png"
        # Extra is used to add a line to the description for every punishment:
        extra: "- *${PUNISHMENT_NAME}* until *${PUNISHMENT_UNTIL}*\n"
        color: "BLUE"

#
# *************************************************************************
#  Modals                                                                 *
# *************************************************************************
#
modals:
  whitelist:
    modals:
      request:
        title: "Whitelist request"
        actions:
          username:
            label: "Username"
            placeholder: "Steve1234"

  banning:
    modals:
      request:
        title: "Ban request"
        actions:
          discordUser:
            label: "Discord user"
          minecraftUser:
            label: "Minecraft account"
          reason:
            label: "Reason"
            placeholder: "Please give a good reason why you want this player banned"
      reasonChange:
        title: "Change reason"
        actions:
          reason:
            label: "Reason"
            placeholder: "${ORIGINAL_REASON}"
            value: "${ORIGINAL_REASON}"
  
  unban:
    modals:
      request:
        title: "Unban request"
        actions:
          punishment:
            label: "Punishment"
          reason:
            label: "Reason"
            placeholder: "Please give a good reason why you want to be unbanned"

#
# *************************************************************************
#  Commands                                                               *
# *************************************************************************
#
commands:
  maintenance:
    name: "maintenance"
    description: "A command to start or stop the maintenance mode"
    options:
      startStop:
        name: "start-stop"
        description: "Either start or stop the maintenance mode"
        options: ["start", "stop"]
  info:
    name: "player-info"
    description: "A command to display a players info"
    options:
      subcommandMinecraft:
        name: "minecraft"
        description: "Get the info of a minecraft player"
      subcommandDiscord:
        name: "discord"
        description: "Get the info of a discord user"
      minecraftUser:
        name: "minecraft-user"
        description: "The minecraft user you want the info of"
      discordUser:
        name: "discord-user"
        description: "The discord user you want the info of"

Download

Go to modrinth.com to download this mod

Setup

See discord.com/developers/docs/quick-start/getting-started for more information.

  1. Start your (fabric, or velocity) server, and stop it again
  2. The server will generate either a mods or a plugin folder, put the jar file corresponding to your server type in that folder (Go to modrinth.com to download)
  3. Start your server again, this mod will generate a config.yml file for you, open it (the following steps will guide you through configuring it)
  4. Go to the discord development portal discord.com/developers/applications
  5. Click on "New application" A photo of the discord panel when visiting discord.com/developers/applications
  6. Choose a name and accept the user agreement A photo of the discord panel after clicking on "New application"
  7. Use the sidebar to go to the bots section A photo of the discord panel after creating your bot
  8. Click on reset token and click confirm A photo of the discord panel bots section
  9. Copy your bot token and paste it into the botToken field of your config A photo of the config.yaml file
  10. Again in the bots section, scroll down to enable the 'Message content intent' gateway intent A photo of the discord panel bots section with the 'Message content intent' gateway intent enabled
  11. Now use the sidebar to go to installation and configure the following: A photo of the install screen. User install disabled, scopes=bot, permissions=Send messages, Bypass slow mode, Manage roles and Add reactions
  12. Copy the url provided by discord of the previous screen and visit it, you can now invite it to the server you want the bot to send messages to

Now we want to setup the features, you can use the following tutorial to get a channel ID: support.discord.com You can then copy your channel IDs to the features you want to enable in the config (!disable a feature if you do not want to use it!)

Bugs

If you find bugs or weird behavior, please open an issue on github (github.com) or send an email to 93196280+hidde2727@users.noreply.github.com

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:2 месяца назад
Обновлён:3 дня назад
Главная