diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 4fab10bf5..e443ae44d 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -121,6 +121,10 @@ public class DiscordSettings implements IConf { return config.getBoolean("chat.show-all-chat", false); } + public List getRelayToConsoleList() { + return config.getList("chat.relay-to-console", String.class); + } + public String getConsoleChannelDef() { return config.getString("console.channel", "none"); } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java index caab7b07f..fb2d8604b 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java @@ -88,12 +88,20 @@ public class DiscordListener extends ListenerAdapter { event.getChannel().getName(), user.getName(), user.getDiscriminator(), user.getAsTag(), member.getEffectiveName(), DiscordUtil.getRoleColorFormat(member), finalMessage, DiscordUtil.getRoleFormat(member)), EmojiParser.FitzpatrickAction.REMOVE); + for (final String group : keys) { + if (plugin.getSettings().getRelayToConsoleList().contains(group)) { + logger.info(formattedMessage); + break; + } + } + for (IUser essUser : plugin.getPlugin().getEss().getOnlineUsers()) { for (String group : keys) { final String perm = "essentials.discord.receive." + group; final boolean primaryOverride = plugin.getSettings().isAlwaysReceivePrimary() && group.equalsIgnoreCase("primary"); if (primaryOverride || (essUser.isPermissionSet(perm) && essUser.isAuthorized(perm))) { essUser.sendMessage(formattedMessage); + break; } } } diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index db8d01087..601cc2d59 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -61,6 +61,11 @@ chat: # Whether or not to show all Minecraft chat messages that are not shown to all players. # You shouldn't need to enable this unless you're not seeing all chat messages go through to Discord. show-all-chat: false + # A list of Discord channels which should be logged to console. + # If you want to use the channels below, remember to uncomment the line by removing the '#' before the '-'. + relay-to-console: + #- primary + #- chat # Console relay settings # The console relay sends every message shown in the console to a Discord channel.