From 08d895c7751ded6648c5b7d8e49281efba978ebd Mon Sep 17 00:00:00 2001 From: diademiemi Date: Tue, 15 Nov 2022 21:37:09 +0100 Subject: [PATCH 1/2] Allow configuring which types of messages get sent as webhook --- .../net/essentialsx/discord/DiscordSettings.java | 4 ++++ .../discord/listeners/BukkitListener.java | 6 ++++++ EssentialsDiscord/src/main/resources/config.yml | 14 ++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 81a91907dc4..f9740434b1b 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -175,6 +175,10 @@ public boolean isShowDisplayName() { return config.getBoolean("show-displayname", false); } + public boolean isSendTypeAsWebhook(String key) { + return config.getBoolean("send-types-as-player." + key, true); + } + public String getAvatarURL() { return config.getString("avatar-url", "https://crafthead.net/helm/{uuid}"); } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/BukkitListener.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/BukkitListener.java index 3a5cf72f7f3..8f7c327f92c 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/BukkitListener.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/BukkitListener.java @@ -246,6 +246,12 @@ private void sendDiscordMessage(final MessageType messageType, final String mess String avatarUrl = null; String name = null; UUID uuid = null; + + if (player != null && !jda.getSettings().isSendTypeAsWebhook(messageType.getKey())) { + sendDiscordMessage(messageType, message); + return; + } + if (player != null) { if (jda.getSettings().isShowAvatar()) { avatarUrl = DiscordUtil.getAvatarUrl(jda, player); diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 1c3072b8770..4ff64b71dd7 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -151,6 +151,20 @@ show-name: false # You must disable show-name for this option to work. show-displayname: false +# When set to false, the message will send as the bot user instead of the player webhook. +send-types-as-player: + join: true + # Leave messages sent when a player leaves the Minecraft server. + leave: true + # Death messages sent when a player dies on the Minecraft server. + death: true + # AFK status change messages sent when a player's AFK status changes. + afk: true + # Achievement/advancement messages sent when a player is awarded an achievement/advancement. + advancement: true + # Action messages sent when a player runs the /me or /action commands. + action: true + # Whether or not fake join and leave messages should be sent to Discord when a player toggles vanish in Minecraft. # Fake join/leave messages will be sent the same as real join and leave messages (and to the same channel). vanish-fake-join-leave: true From edc112956d661d4dec739517fe846c614927d606 Mon Sep 17 00:00:00 2001 From: diademiemi Date: Wed, 16 Nov 2022 00:43:50 +0100 Subject: [PATCH 2/2] Include first-join type --- EssentialsDiscord/src/main/resources/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 4ff64b71dd7..7768ad8215a 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -153,7 +153,10 @@ show-displayname: false # When set to false, the message will send as the bot user instead of the player webhook. send-types-as-player: + # Join messages sent when a player joins the Minecraft server. join: true + # Join messages sent when a player joins the Minecraft server for the first time. + first-join: true # Leave messages sent when a player leaves the Minecraft server. leave: true # Death messages sent when a player dies on the Minecraft server.