Don't force discord serialization for join, leave, death and server switch messages

This commit is contained in:
Vankka 2023-07-21 17:07:16 +03:00
parent 5da32a3c45
commit 3040b1472c
No known key found for this signature in database
GPG Key ID: 6E50CB7A29B96AD0
6 changed files with 22 additions and 31 deletions

View File

@ -35,7 +35,6 @@ import com.discordsrv.common.future.util.CompletableFutureUtil;
import com.discordsrv.common.logging.NamedLogger;
import com.discordsrv.common.module.type.AbstractModule;
import com.discordsrv.common.player.IPlayer;
import net.kyori.adventure.text.Component;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -159,10 +158,6 @@ public abstract class AbstractGameMessageModule<T extends IMessageConfig, E exte
});
}
public String convertComponent(T config, Component component) {
return discordSRV.componentFactory().discordSerializer().serialize(component);
}
public Map<CompletableFuture<ReceivedDiscordMessage>, DiscordGuildMessageChannel> sendMessageToChannels(
T config,
IPlayer player,

View File

@ -25,12 +25,11 @@ import com.discordsrv.api.event.bus.EventPriority;
import com.discordsrv.api.event.bus.Subscribe;
import com.discordsrv.api.event.events.message.forward.game.DeathMessageForwardedEvent;
import com.discordsrv.api.event.events.message.receive.game.DeathMessageReceiveEvent;
import com.discordsrv.api.placeholder.FormattedText;
import com.discordsrv.common.DiscordSRV;
import com.discordsrv.common.component.util.ComponentUtil;
import com.discordsrv.common.config.main.channels.server.DeathMessageConfig;
import com.discordsrv.common.config.main.channels.base.BaseChannelConfig;
import com.discordsrv.common.config.main.channels.base.server.ServerBaseChannelConfig;
import com.discordsrv.common.config.main.channels.server.DeathMessageConfig;
public class DeathMessageModule extends AbstractGameMessageModule<DeathMessageConfig, DeathMessageReceiveEvent> {
@ -65,9 +64,7 @@ public class DeathMessageModule extends AbstractGameMessageModule<DeathMessageCo
SendableDiscordMessage.Formatter formatter
) {
MinecraftComponent messageComponent = event.getMessage();
String message = messageComponent != null ? convertComponent(config, ComponentUtil.fromAPI(messageComponent)) : null;
formatter.addPlaceholder("message", new FormattedText(message));
formatter.addPlaceholder("message", ComponentUtil.fromAPI(messageComponent));
}
}

View File

@ -25,11 +25,11 @@ import com.discordsrv.api.event.bus.EventPriority;
import com.discordsrv.api.event.bus.Subscribe;
import com.discordsrv.api.event.events.message.forward.game.JoinMessageForwardedEvent;
import com.discordsrv.api.event.events.message.receive.game.JoinMessageReceiveEvent;
import com.discordsrv.api.placeholder.FormattedText;
import com.discordsrv.common.DiscordSRV;
import com.discordsrv.common.component.util.ComponentUtil;
import com.discordsrv.common.config.main.generic.IMessageConfig;
import com.discordsrv.common.config.main.channels.base.BaseChannelConfig;
import com.discordsrv.common.config.main.generic.IMessageConfig;
import net.kyori.adventure.text.Component;
public class JoinMessageModule extends AbstractGameMessageModule<IMessageConfig, JoinMessageReceiveEvent> {
@ -69,8 +69,8 @@ public class JoinMessageModule extends AbstractGameMessageModule<IMessageConfig,
SendableDiscordMessage.Formatter formatter
) {
MinecraftComponent messageComponent = event.getMessage();
String message = messageComponent != null ? convertComponent(config, ComponentUtil.fromAPI(messageComponent)) : null;
Component message = messageComponent != null ? ComponentUtil.fromAPI(messageComponent) : null;
formatter.addPlaceholder("message", new FormattedText(message));
formatter.addPlaceholder("message", message);
}
}

View File

@ -25,11 +25,11 @@ import com.discordsrv.api.event.bus.EventPriority;
import com.discordsrv.api.event.bus.Subscribe;
import com.discordsrv.api.event.events.message.forward.game.LeaveMessageForwardedEvent;
import com.discordsrv.api.event.events.message.receive.game.LeaveMessageReceiveEvent;
import com.discordsrv.api.placeholder.FormattedText;
import com.discordsrv.common.DiscordSRV;
import com.discordsrv.common.component.util.ComponentUtil;
import com.discordsrv.common.config.main.channels.LeaveMessageConfig;
import com.discordsrv.common.config.main.channels.base.BaseChannelConfig;
import net.kyori.adventure.text.Component;
public class LeaveMessageModule extends AbstractGameMessageModule<LeaveMessageConfig, LeaveMessageReceiveEvent> {
@ -64,8 +64,8 @@ public class LeaveMessageModule extends AbstractGameMessageModule<LeaveMessageCo
SendableDiscordMessage.Formatter formatter
) {
MinecraftComponent messageComponent = event.getMessage();
String message = messageComponent != null ? convertComponent(config, ComponentUtil.fromAPI(messageComponent)) : null;
Component message = messageComponent != null ? ComponentUtil.fromAPI(messageComponent) : null;
formatter.addPlaceholder("message", new FormattedText(message));
formatter.addPlaceholder("message", message);
}
}

View File

@ -25,12 +25,12 @@ import com.discordsrv.api.event.bus.EventPriority;
import com.discordsrv.api.event.bus.Subscribe;
import com.discordsrv.api.event.events.message.forward.game.ServerSwitchMessageForwardedEvent;
import com.discordsrv.api.event.events.message.receive.game.ServerSwitchMessageReceiveEvent;
import com.discordsrv.api.placeholder.FormattedText;
import com.discordsrv.common.DiscordSRV;
import com.discordsrv.common.component.util.ComponentUtil;
import com.discordsrv.common.config.main.channels.proxy.ServerSwitchMessageConfig;
import com.discordsrv.common.config.main.channels.base.BaseChannelConfig;
import com.discordsrv.common.config.main.channels.base.proxy.ProxyBaseChannelConfig;
import com.discordsrv.common.config.main.channels.proxy.ServerSwitchMessageConfig;
import net.kyori.adventure.text.Component;
public class ServerSwitchMessageModule extends AbstractGameMessageModule<ServerSwitchMessageConfig, ServerSwitchMessageReceiveEvent> {
@ -65,8 +65,8 @@ public class ServerSwitchMessageModule extends AbstractGameMessageModule<ServerS
SendableDiscordMessage.Formatter formatter
) {
MinecraftComponent messageComponent = event.getMessage();
String message = messageComponent != null ? convertComponent(config, ComponentUtil.fromAPI(messageComponent)) : null;
Component message = messageComponent != null ? ComponentUtil.fromAPI(messageComponent) : null;
formatter.addPlaceholder("message", new FormattedText(message));
formatter.addPlaceholder("message", message);
}
}

View File

@ -76,16 +76,6 @@ public class MinecraftToDiscordChatModule extends AbstractGameMessageModule<Mine
discordSRV.eventBus().publish(new GameChatMessageForwardedEvent(cluster));
}
@Override
public String convertComponent(MinecraftToDiscordChatConfig config, Component component) {
String content = discordSRV.placeholderService().getResultAsPlain(component).toString();
Placeholders messagePlaceholders = new Placeholders(content);
config.contentRegexFilters.forEach(messagePlaceholders::replaceAll);
return messagePlaceholders.toString();
}
@Override
public Map<CompletableFuture<ReceivedDiscordMessage>, DiscordGuildMessageChannel> sendMessageToChannels(
MinecraftToDiscordChatConfig config,
@ -233,6 +223,15 @@ public class MinecraftToDiscordChatModule extends AbstractGameMessageModule<Mine
.build();
}
public String convertComponent(MinecraftToDiscordChatConfig config, Component component) {
String content = discordSRV.placeholderService().getResultAsPlain(component).toString();
Placeholders messagePlaceholders = new Placeholders(content);
config.contentRegexFilters.forEach(messagePlaceholders::replaceAll);
return messagePlaceholders.toString();
}
private String preventEveryoneMentions(boolean everyoneAllowed, String message) {
if (everyoneAllowed) {
// Nothing to do