mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-01-02 22:47:41 +01:00
Allow configuring Discord webhook name (#5159)
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
This commit is contained in:
parent
77dc87bb8e
commit
384f63bf92
@ -226,6 +226,36 @@ public class DiscordSettings implements IConf {
|
||||
"username", "displayname", "message", "world", "prefix", "suffix");
|
||||
}
|
||||
|
||||
public String getLegacyNameFormat() {
|
||||
// For compatibility with old configs
|
||||
if (isShowDisplayName()) {
|
||||
return "{displayname}";
|
||||
} else if (isShowName()) {
|
||||
return "{username}";
|
||||
} else {
|
||||
// Will default to "{botname}" in the format
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public MessageFormat getMcToDiscordNameFormat(Player player) {
|
||||
String format = getFormatString("mc-to-discord-name-format");
|
||||
if (format == null) {
|
||||
format = getLegacyNameFormat();
|
||||
}
|
||||
final String filled;
|
||||
|
||||
if (plugin.isPAPI() && format != null) {
|
||||
filled = me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(player, format);
|
||||
} else {
|
||||
filled = format;
|
||||
}
|
||||
|
||||
return generateMessageFormat(filled, "{botname}", false,
|
||||
"username", "displayname", "world", "prefix", "suffix", "botname");
|
||||
|
||||
}
|
||||
|
||||
public MessageFormat getTempMuteFormat() {
|
||||
return tempMuteFormat;
|
||||
}
|
||||
|
@ -278,9 +278,16 @@ public class JDADiscordService implements DiscordService, IEssentialsModule {
|
||||
MessageUtil.sanitizeDiscordMarkdown(FormatUtil.stripEssentialsFormat(getPlugin().getEss().getPermissionsHandler().getSuffix(player))));
|
||||
|
||||
final String avatarUrl = DiscordUtil.getAvatarUrl(this, player);
|
||||
final String name = getSettings().isShowName() ? player.getName() : (getSettings().isShowDisplayName() ? player.getDisplayName() : null);
|
||||
|
||||
DiscordUtil.dispatchDiscordMessage(this, MessageType.DefaultTypes.CHAT, formattedMessage, user.isAuthorized("essentials.discord.ping"), avatarUrl, name, player.getUniqueId());
|
||||
final String formattedName = MessageUtil.formatMessage(getSettings().getMcToDiscordNameFormat(player),
|
||||
MessageUtil.sanitizeDiscordMarkdown(player.getName()),
|
||||
MessageUtil.sanitizeDiscordMarkdown(player.getDisplayName()),
|
||||
MessageUtil.sanitizeDiscordMarkdown(getPlugin().getEss().getSettings().getWorldAlias(player.getWorld().getName())),
|
||||
MessageUtil.sanitizeDiscordMarkdown(FormatUtil.stripEssentialsFormat(getPlugin().getEss().getPermissionsHandler().getPrefix(player))),
|
||||
MessageUtil.sanitizeDiscordMarkdown(FormatUtil.stripEssentialsFormat(getPlugin().getEss().getPermissionsHandler().getSuffix(player))),
|
||||
guild.getMember(jda.getSelfUser()).getEffectiveName());
|
||||
|
||||
DiscordUtil.dispatchDiscordMessage(this, MessageType.DefaultTypes.CHAT, formattedMessage, user.isAuthorized("essentials.discord.ping"), avatarUrl, formattedName, player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,6 +2,7 @@ package net.essentialsx.discord.listeners;
|
||||
|
||||
import com.earth2me.essentials.Console;
|
||||
import com.earth2me.essentials.utils.DateUtil;
|
||||
import com.earth2me.essentials.utils.FormatUtil;
|
||||
import com.earth2me.essentials.utils.VersionUtil;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.events.AfkStatusChangeEvent;
|
||||
@ -271,11 +272,13 @@ public class BukkitListener implements Listener {
|
||||
avatarUrl = DiscordUtil.getAvatarUrl(jda, player);
|
||||
}
|
||||
|
||||
if (jda.getSettings().isShowName()) {
|
||||
name = player.getName();
|
||||
} else if (jda.getSettings().isShowDisplayName()) {
|
||||
name = player.getDisplayName();
|
||||
}
|
||||
name = MessageUtil.formatMessage(jda.getSettings().getMcToDiscordNameFormat(player),
|
||||
MessageUtil.sanitizeDiscordMarkdown(player.getName()),
|
||||
MessageUtil.sanitizeDiscordMarkdown(player.getDisplayName()),
|
||||
MessageUtil.sanitizeDiscordMarkdown(jda.getPlugin().getEss().getSettings().getWorldAlias(player.getWorld().getName())),
|
||||
MessageUtil.sanitizeDiscordMarkdown(FormatUtil.stripEssentialsFormat(jda.getPlugin().getEss().getPermissionsHandler().getPrefix(player))),
|
||||
MessageUtil.sanitizeDiscordMarkdown(FormatUtil.stripEssentialsFormat(jda.getPlugin().getEss().getPermissionsHandler().getSuffix(player))),
|
||||
jda.getGuild().getMember(jda.getJda().getSelfUser()).getEffectiveName());
|
||||
|
||||
uuid = player.getUniqueId();
|
||||
}
|
||||
|
@ -147,11 +147,6 @@ show-avatar: false
|
||||
# To include the UUID of the player in this URL, use "{uuid}".
|
||||
# To include the name of the player in this URL, use "{name}".
|
||||
avatar-url: "https://crafthead.net/helm/{uuid}"
|
||||
# Whether or not player messages should show their name as the bot name in Discord.
|
||||
show-name: false
|
||||
# Whether or not player messages should show their display-name/nickname as the bot name in Discord.
|
||||
# You must disable show-name for this option to work.
|
||||
show-displayname: false
|
||||
|
||||
# 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).
|
||||
@ -263,6 +258,16 @@ messages:
|
||||
# - {suffix}: The suffix of the player sending the message
|
||||
# ... PlaceholderAPI placeholders are also supported here too!
|
||||
mc-to-discord: "{displayname}: {message}"
|
||||
# This is the bot's name which appears in Discord when sending player-specific messages.
|
||||
# The following placeholders can be used here:
|
||||
# - {username}: The username of the player sending the message
|
||||
# - {displayname}: The display name of the player sending the message (This would be their nickname)
|
||||
# - {world}: The name of the world the player sending the message is in
|
||||
# - {prefix}: The prefix of the player sending the message
|
||||
# - {suffix}: The suffix of the player sending the message
|
||||
# - {botname}: Name of the Discord bot
|
||||
# ... PlaceholderAPI placeholders are also supported here too!
|
||||
mc-to-discord-name-format: "{botname}"
|
||||
# This is the message sent to Discord when a player is temporarily muted in minecraft.
|
||||
# The following placeholders can be used here:
|
||||
# - {username}: The username of the player being muted
|
||||
|
Loading…
Reference in New Issue
Block a user