From 695c136500db2fe7c70edf7a79eb7c5073b3dc6b Mon Sep 17 00:00:00 2001 From: nuttylmao Date: Mon, 5 May 2025 02:35:17 +1000 Subject: [PATCH] Added "Group Consecutive Messages" setting --- horizontal-chat/script.js | 5 +++-- horizontal-chat/settings/settings.json | 8 ++++++++ multichat-overlay/script.js | 5 +++-- multichat-overlay/settings/settings.json | 8 ++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/horizontal-chat/script.js b/horizontal-chat/script.js index e091337..931038c 100644 --- a/horizontal-chat/script.js +++ b/horizontal-chat/script.js @@ -33,6 +33,7 @@ const opacity = urlParams.get("opacity") || "0.5"; const hideAfter = GetIntParam("hideAfter", 0); const excludeCommands = GetBooleanParam("excludeCommands", true); const ignoreChatters = urlParams.get("ignoreChatters") || ""; +const groupConsecutiveMessages = GetBooleanParam("groupConsecutiveMessages", true); const showTwitchMessages = GetBooleanParam("showTwitchMessages", true); const showTwitchAnnouncements = GetBooleanParam("showTwitchAnnouncements", true); @@ -393,7 +394,7 @@ async function TwitchChatMessage(data) { // Hide the header if the same username sends a message twice in a row const messageList = document.getElementById("messageList"); - if (messageList.children.length > 0) { + if (groupConsecutiveMessages && messageList.children.length > 0) { const lastPlatform = messageList.lastChild.dataset.platform; const lastUserId = messageList.lastChild.dataset.userId; if (lastPlatform == "twitch" && lastUserId == data.user.id) @@ -709,7 +710,7 @@ function YouTubeMessage(data) { // Hide the header if the same username sends a message twice in a row const messageList = document.getElementById("messageList"); - if (messageList.children.length > 0) { + if (groupConsecutiveMessages && messageList.children.length > 0) { const lastPlatform = messageList.lastChild.dataset.platform; const lastUserId = messageList.lastChild.dataset.userId; if (lastPlatform == "youtube" && lastUserId == data.user.id) diff --git a/horizontal-chat/settings/settings.json b/horizontal-chat/settings/settings.json index 06daf9f..6b982d3 100644 --- a/horizontal-chat/settings/settings.json +++ b/horizontal-chat/settings/settings.json @@ -119,6 +119,14 @@ "defaultValue": "StreamElements,Streamlabs", "group": "General" }, + { + "id": "groupConsecutiveMessages", + "label": "Group Consecutive Messages", + "description": "Hide username on consecutive messages from the same user", + "type": "checkbox", + "defaultValue": true, + "group": "General" + }, { "id": "showTwitchMessages", "label": "Chat Messages", diff --git a/multichat-overlay/script.js b/multichat-overlay/script.js index 8fd61b8..1d74922 100644 --- a/multichat-overlay/script.js +++ b/multichat-overlay/script.js @@ -31,6 +31,7 @@ const hideAfter = GetIntParam("hideAfter", 0); const excludeCommands = GetBooleanParam("excludeCommands", true); const ignoreChatters = urlParams.get("ignoreChatters") || ""; const scrollDirection = GetIntParam("scrollDirection", 1); +const groupConsecutiveMessages = GetBooleanParam("groupConsecutiveMessages", false); const inlineChat = GetBooleanParam("inlineChat", false); const imageEmbedPermissionLevel = GetIntParam("imageEmbedPermissionLevel", 20); @@ -444,7 +445,7 @@ async function TwitchChatMessage(data) { // Hide the header if the same username sends a message twice in a row // EXCEPT when the scroll direction is set to reverse (scrollDirection == 2) const messageList = document.getElementById("messageList"); - if (messageList.children.length > 0 && scrollDirection != 2) { + if (groupConsecutiveMessages && messageList.children.length > 0 && scrollDirection != 2) { const lastPlatform = messageList.lastChild.dataset.platform; const lastUserId = messageList.lastChild.dataset.userId; if (lastPlatform == "twitch" && lastUserId == data.user.id) @@ -1013,7 +1014,7 @@ function YouTubeMessage(data) { // Hide the header if the same username sends a message twice in a row // EXCEPT when the scroll direction is set to reverse (scrollDirection == 2) const messageList = document.getElementById("messageList"); - if (messageList.children.length > 0 && scrollDirection != 2) { + if (groupConsecutiveMessages && messageList.children.length > 0 && scrollDirection != 2) { const lastPlatform = messageList.lastChild.dataset.platform; const lastUserId = messageList.lastChild.dataset.userId; if (lastPlatform == "youtube" && lastUserId == data.user.id) diff --git a/multichat-overlay/settings/settings.json b/multichat-overlay/settings/settings.json index 225069e..1dfc957 100644 --- a/multichat-overlay/settings/settings.json +++ b/multichat-overlay/settings/settings.json @@ -147,6 +147,14 @@ "defaultValue": 1, "group": "General" }, + { + "id": "groupConsecutiveMessages", + "label": "Group Consecutive Messages", + "description": "Hide username on consecutive messages from the same user
Note: This setting is ignored for \"Reversed\" scroll direction", + "type": "checkbox", + "defaultValue": false, + "group": "General" + }, { "id": "inlineChat", "label": "In-line Chat",