Files
streamctl/pkg/streamcontrol/event.go
Dmitrii Okunev 1d65b36720
Some checks failed
rolling-release / build (push) Has been cancelled
rolling-release / rolling-release (push) Has been cancelled
Add MessageFormatType passing through
2025-08-15 04:12:37 +01:00

71 lines
1.4 KiB
Go

package streamcontrol
import (
"fmt"
"time"
)
type ChatUserID string
type ChatMessageID string
type ChatMessage struct {
CreatedAt time.Time
EventType EventType
UserID ChatUserID
Username string
MessageID ChatMessageID
Message string
MessageFormatType TextFormatType
Paid Money
}
type EventType int
const (
EventTypeUndefined = EventType(iota)
EventTypeChatMessage
EventTypeCheer
EventTypeAutoModHold
EventTypeAdBreak
EventTypeBan
EventTypeFollow
EventTypeRaid
EventTypeChannelShoutoutReceive
EventTypeSubscribe
EventTypeStreamOnline
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))
}