diff --git a/chat/src/main/java/com/github/twitch4j/chat/TwitchChat.java b/chat/src/main/java/com/github/twitch4j/chat/TwitchChat.java index 2fc238d2b..a39d1895f 100644 --- a/chat/src/main/java/com/github/twitch4j/chat/TwitchChat.java +++ b/chat/src/main/java/com/github/twitch4j/chat/TwitchChat.java @@ -530,8 +530,7 @@ protected void onConnected() { } protected void onTextMessage(String text) { - Arrays.asList(text.replace("\n\r", "\n") - .replace("\r", "\n").split("\n")) + Arrays.asList(StringUtils.split(text.replace("\r\n", "\n"), '\n')) .forEach(message -> { if (!message.equals("")) { // Handle messages @@ -761,6 +760,11 @@ private boolean removeCurrentChannel(String channelName) { @Override @SuppressWarnings("ConstantConditions") public boolean sendMessage(String channel, String message, Map tags) { + if (message.length() > 500) { + log.warn("Ignoring outbound chat message for channel #{} exceeding the Twitch maximum of 500 characters: {}", channel, message); + return false; + } + StringBuilder sb = new StringBuilder(); if (tags != null && !tags.isEmpty()) { sb.append('@');