|
|
|
@ -82,27 +82,26 @@ public class ChatListener extends BasicListener {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void sendChat(ChatSender sender, Stream<ChatSender> receivers, String format, ChatSender msgReceiver, String message) {
|
|
|
|
|
String finalMessage = modifyFilter(sender, message);
|
|
|
|
|
if(finalMessage == null)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
SteamwarUser user = sender.user();
|
|
|
|
|
final String coloredMessage = (user.getUserGroup() != UserGroup.Member || coloredTeams.contains(user.getTeam())) ? ChatColor.translateAlternateColorCodes('&', message) : message;
|
|
|
|
|
if(chatFilter(sender, coloredMessage))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
AtomicBoolean noReceiver = new AtomicBoolean(true);
|
|
|
|
|
receivers.filter(ChatSender::chatShown).forEach(player -> {
|
|
|
|
|
if(sender.user().getId() != player.user().getId())
|
|
|
|
|
noReceiver.set(false);
|
|
|
|
|
chatToReciever(player, msgReceiver, user, format, finalMessage);
|
|
|
|
|
chatToReciever(player, msgReceiver, user, format, coloredMessage);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
chatToReciever(ChatSender.console(), msgReceiver, user, format, finalMessage);
|
|
|
|
|
chatToReciever(ChatSender.console(), msgReceiver, user, format, coloredMessage);
|
|
|
|
|
|
|
|
|
|
if(format.equals("CHAT_GLOBAL")) {
|
|
|
|
|
if (SteamwarDiscordBot.instance() != null)
|
|
|
|
|
chatToReciever(ChatSender.discordChannel(SteamwarDiscordBot.instance().getIngameChatListener()), msgReceiver, user, format, finalMessage);
|
|
|
|
|
chatToReciever(ChatSender.discordChannel(SteamwarDiscordBot.instance().getIngameChatListener()), msgReceiver, user, format, coloredMessage);
|
|
|
|
|
} else if (format.equals("CHAT_SERVERTEAM")) {
|
|
|
|
|
if (SteamwarDiscordBot.instance() != null)
|
|
|
|
|
chatToReciever(ChatSender.discordChannel(SteamwarDiscordBot.instance().getServerTeamChatListener()), msgReceiver, user, format, finalMessage);
|
|
|
|
|
chatToReciever(ChatSender.discordChannel(SteamwarDiscordBot.instance().getServerTeamChatListener()), msgReceiver, user, format, coloredMessage);
|
|
|
|
|
} else if (noReceiver.get()) {
|
|
|
|
|
sender.system("CHAT_NO_RECEIVER");
|
|
|
|
|
}
|
|
|
|
@ -119,40 +118,40 @@ public class ChatListener extends BasicListener {
|
|
|
|
|
|
|
|
|
|
if(ChatListener.filteredCommand(player, message))
|
|
|
|
|
return;
|
|
|
|
|
if(!message.startsWith("/")) {
|
|
|
|
|
message = modifyFilter(sender, message);
|
|
|
|
|
if(message == null)
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!message.startsWith("/") && chatFilter(sender, message))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
Chat19.chat(player, message);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static String modifyFilter(ChatSender sender, String message) {
|
|
|
|
|
private static boolean chatFilter(ChatSender sender, String message) {
|
|
|
|
|
if(!sender.chatShown()) {
|
|
|
|
|
sender.system("CHAT_RECEIVE");
|
|
|
|
|
return null;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(message.replace("§[a-f0-9klmno]", "").trim().isEmpty()) {
|
|
|
|
|
sender.system("CHAT_EMPTY");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SteamwarUser user = sender.user();
|
|
|
|
|
UserGroup group = user.getUserGroup();
|
|
|
|
|
if(!group.isTeamGroup() && (message.contains("http:") || message.contains("https:") || message.contains("www."))){
|
|
|
|
|
sender.system("CHAT_NO_LINKS");
|
|
|
|
|
return null;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (user.isPunishedWithMessage(sender, Punishment.PunishmentType.Mute))
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
if(group != UserGroup.Member || coloredTeams.contains(user.getTeam()))
|
|
|
|
|
message = ChatColor.translateAlternateColorCodes('&', message);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
if (message.contains("LIXFEL"))
|
|
|
|
|
specialAlert(sender, "Lixfel", "CHAT_LIXFEL_", 3, 6, 11, 12, 15);
|
|
|
|
|
if (message.contains("YOYONOW"))
|
|
|
|
|
specialAlert(sender, "YoyoNow", "CHAT_YOYONOW_", 3, 6, 11, 12);
|
|
|
|
|
|
|
|
|
|
return message;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void chatToReciever(ChatSender receiver, ChatSender msgReceiver, SteamwarUser sender, String format, String message) {
|
|
|
|
|