From c03b71b4c787d87ea8c84fa7e15ee19c6d73841f Mon Sep 17 00:00:00 2001 From: Dmitrii Okunev Date: Sun, 13 Jul 2025 19:15:16 +0100 Subject: [PATCH] Display the event type if it's not a chat message --- pkg/streamcontrol/event.go | 37 ++++++++++++++++++++++++++++++++- pkg/streampanel/chat_as_list.go | 6 +++++- pkg/streampanel/chat_as_text.go | 6 +++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/pkg/streamcontrol/event.go b/pkg/streamcontrol/event.go index 141272b..776f379 100644 --- a/pkg/streamcontrol/event.go +++ b/pkg/streamcontrol/event.go @@ -1,6 +1,9 @@ package streamcontrol -import "time" +import ( + "fmt" + "time" +) type ChatUserID string type ChatMessageID string @@ -32,3 +35,35 @@ const ( EventTypeStreamOffline EventTypeOther ) + +func (t EventType) String() string { + switch t { + case EventTypeUndefined: + return "undefined" + case EventTypeChatMessage: + return "chat_message" + case EventTypeCheer: + return "cheer" + case EventTypeAutoModHold: + return "automod_hold" + case EventTypeAdBreak: + return "ad_break" + case EventTypeBan: + return "ban" + case EventTypeFollow: + return "follow" + case EventTypeRaid: + return "raid" + case EventTypeChannelShoutoutReceive: + return "channel_shoutout_receive" + case EventTypeSubscribe: + return "subscribe" + case EventTypeStreamOnline: + return "stream_online" + case EventTypeStreamOffline: + return "stream_offline" + case EventTypeOther: + return "other" + } + return fmt.Sprintf("unknown_%d", int(t)) +} diff --git a/pkg/streampanel/chat_as_list.go b/pkg/streampanel/chat_as_list.go index d00e725..577997a 100644 --- a/pkg/streampanel/chat_as_list.go +++ b/pkg/streampanel/chat_as_list.go @@ -351,7 +351,11 @@ func (ui *chatUIAsList) listUpdateItem( removeMsgButton.Enable() } } - item.TimestampSegment.Text = msg.CreatedAt.Format("15:04:05") + newText := msg.CreatedAt.Format("05") + if msg.EventType != streamcontrol.EventTypeChatMessage { + newText += fmt.Sprintf(" %s", msg.EventType.String()) + } + item.TimestampSegment.Text = newText item.TimestampSegment.Style.ColorName = colorForPlatform(msg.Platform) item.UsernameSegment.Text = msg.Username item.UsernameSegment.Style.ColorName = colorForUsername(msg.Username) diff --git a/pkg/streampanel/chat_as_text.go b/pkg/streampanel/chat_as_text.go index aa16443..c4b9c8a 100644 --- a/pkg/streampanel/chat_as_text.go +++ b/pkg/streampanel/chat_as_text.go @@ -307,7 +307,11 @@ func (ui *chatUIAsText) newItem( removeMsgButton.Enable() } } - item.TimestampSegment.Text = msg.CreatedAt.Format("15:04:05") + newText := msg.CreatedAt.Format("05") + if msg.EventType != streamcontrol.EventTypeChatMessage { + newText += fmt.Sprintf(" %s", msg.EventType.String()) + } + item.TimestampSegment.Text = newText item.TimestampSegment.Style.ColorName = colorForPlatform(msg.Platform) item.UsernameSegment.Text = msg.Username item.UsernameSegment.Style.ColorName = colorForUsername(msg.Username)