mirror of
https://github.com/xaionaro-go/streamctl.git
synced 2025-10-04 15:12:43 +08:00
Add MessageFormatType passing through
This commit is contained in:
@@ -9,14 +9,14 @@ type ChatUserID string
|
|||||||
type ChatMessageID string
|
type ChatMessageID string
|
||||||
|
|
||||||
type ChatMessage struct {
|
type ChatMessage struct {
|
||||||
CreatedAt time.Time
|
CreatedAt time.Time
|
||||||
EventType EventType
|
EventType EventType
|
||||||
UserID ChatUserID
|
UserID ChatUserID
|
||||||
Username string
|
Username string
|
||||||
MessageID ChatMessageID
|
MessageID ChatMessageID
|
||||||
Message string
|
Message string
|
||||||
FormatType TextFormatType
|
MessageFormatType TextFormatType
|
||||||
Paid Money
|
Paid Money
|
||||||
}
|
}
|
||||||
|
|
||||||
type EventType int
|
type EventType int
|
||||||
|
@@ -155,13 +155,13 @@ func (h *ChatHandlerOBSOLETE) sendMessage(
|
|||||||
h.lastMessageID = msg.ID
|
h.lastMessageID = msg.ID
|
||||||
select {
|
select {
|
||||||
case h.messagesOutChan <- streamcontrol.ChatMessage{
|
case h.messagesOutChan <- streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.CreatedAt,
|
CreatedAt: msg.CreatedAt,
|
||||||
EventType: streamcontrol.EventTypeChatMessage,
|
EventType: streamcontrol.EventTypeChatMessage,
|
||||||
UserID: streamcontrol.ChatUserID(fmt.Sprintf("%d", msg.UserID)),
|
UserID: streamcontrol.ChatUserID(fmt.Sprintf("%d", msg.UserID)),
|
||||||
Username: msg.Sender.Slug,
|
Username: msg.Sender.Slug,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.ID),
|
MessageID: streamcontrol.ChatMessageID(msg.ID),
|
||||||
Message: msg.Content,
|
Message: msg.Content,
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
}:
|
}:
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
@@ -92,13 +92,13 @@ func newChatHandlerIRC(
|
|||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
case h.messagesOutChan <- streamcontrol.ChatMessage{
|
case h.messagesOutChan <- streamcontrol.ChatMessage{
|
||||||
CreatedAt: ev.CreatedAt,
|
CreatedAt: ev.CreatedAt,
|
||||||
EventType: streamcontrol.EventTypeChatMessage,
|
EventType: streamcontrol.EventTypeChatMessage,
|
||||||
UserID: streamcontrol.ChatUserID(ev.Sender.Username),
|
UserID: streamcontrol.ChatUserID(ev.Sender.Username),
|
||||||
Username: ev.Sender.Username,
|
Username: ev.Sender.Username,
|
||||||
MessageID: streamcontrol.ChatMessageID(ev.ID),
|
MessageID: streamcontrol.ChatMessageID(ev.ID),
|
||||||
Message: ev.Text, // TODO: investigate if we need ev.IRCMessage.Text
|
Message: ev.Text, // TODO: investigate if we need ev.IRCMessage.Text
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
}:
|
}:
|
||||||
default:
|
default:
|
||||||
logger.Warnf(ctx, "the queue is full, skipping the message")
|
logger.Warnf(ctx, "the queue is full, skipping the message")
|
||||||
|
@@ -95,35 +95,35 @@ func NewChatHandlerSub(
|
|||||||
}
|
}
|
||||||
eventSubClient.OnEventAutomodMessageHold(func(event twitcheventsub.EventAutomodMessageHold, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventAutomodMessageHold(func(event twitcheventsub.EventAutomodMessageHold, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeAutoModHold,
|
EventType: streamcontrol.EventTypeAutoModHold,
|
||||||
UserID: streamcontrol.ChatUserID(event.UserID),
|
UserID: streamcontrol.ChatUserID(event.UserID),
|
||||||
Username: event.UserName,
|
Username: event.UserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: event.Message.Text,
|
Message: event.Message.Text,
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelAdBreakBegin(func(event twitcheventsub.EventChannelAdBreakBegin, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelAdBreakBegin(func(event twitcheventsub.EventChannelAdBreakBegin, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeAdBreak,
|
EventType: streamcontrol.EventTypeAdBreak,
|
||||||
UserID: "twitch",
|
UserID: "twitch",
|
||||||
Username: "Twitch",
|
Username: "Twitch",
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: fmt.Sprintf("%d seconds", event.DurationSeconds),
|
Message: fmt.Sprintf("%d seconds", event.DurationSeconds),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelBan(func(event twitcheventsub.EventChannelBan, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelBan(func(event twitcheventsub.EventChannelBan, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeBan,
|
EventType: streamcontrol.EventTypeBan,
|
||||||
UserID: streamcontrol.ChatUserID(event.UserID),
|
UserID: streamcontrol.ChatUserID(event.UserID),
|
||||||
Username: event.UserName,
|
Username: event.UserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: event.Reason,
|
Message: event.Reason,
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelCheer(func(event twitcheventsub.EventChannelCheer, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelCheer(func(event twitcheventsub.EventChannelCheer, msg twitcheventsub.NotificationMessage) {
|
||||||
@@ -138,40 +138,40 @@ func NewChatHandlerSub(
|
|||||||
Currency: streamcontrol.CurrencyBits,
|
Currency: streamcontrol.CurrencyBits,
|
||||||
Amount: float64(event.Bits),
|
Amount: float64(event.Bits),
|
||||||
},
|
},
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelFollow(func(event twitcheventsub.EventChannelFollow, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelFollow(func(event twitcheventsub.EventChannelFollow, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeFollow,
|
EventType: streamcontrol.EventTypeFollow,
|
||||||
UserID: streamcontrol.ChatUserID(event.UserID),
|
UserID: streamcontrol.ChatUserID(event.UserID),
|
||||||
Username: event.UserName,
|
Username: event.UserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: "",
|
Message: "",
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelRaid(func(event twitcheventsub.EventChannelRaid, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelRaid(func(event twitcheventsub.EventChannelRaid, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeRaid,
|
EventType: streamcontrol.EventTypeRaid,
|
||||||
UserID: streamcontrol.ChatUserID(event.FromBroadcasterUserId),
|
UserID: streamcontrol.ChatUserID(event.FromBroadcasterUserId),
|
||||||
Username: event.FromBroadcasterUserName,
|
Username: event.FromBroadcasterUserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: fmt.Sprintf("%d viewers", event.Viewers),
|
Message: fmt.Sprintf("%d viewers", event.Viewers),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelShoutoutReceive(func(event twitcheventsub.EventChannelShoutoutReceive, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelShoutoutReceive(func(event twitcheventsub.EventChannelShoutoutReceive, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeChannelShoutoutReceive,
|
EventType: streamcontrol.EventTypeChannelShoutoutReceive,
|
||||||
UserID: streamcontrol.ChatUserID(event.FromBroadcasterUserId),
|
UserID: streamcontrol.ChatUserID(event.FromBroadcasterUserId),
|
||||||
Username: event.FromBroadcasterUserName,
|
Username: event.FromBroadcasterUserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: fmt.Sprintf("%d viewers", event.ViewerCount),
|
Message: fmt.Sprintf("%d viewers", event.ViewerCount),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelSubscribe(func(event twitcheventsub.EventChannelSubscribe, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelSubscribe(func(event twitcheventsub.EventChannelSubscribe, msg twitcheventsub.NotificationMessage) {
|
||||||
@@ -182,13 +182,13 @@ func NewChatHandlerSub(
|
|||||||
}
|
}
|
||||||
description = append(description, fmt.Sprintf("tier '%s'", event.Tier))
|
description = append(description, fmt.Sprintf("tier '%s'", event.Tier))
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeSubscribe,
|
EventType: streamcontrol.EventTypeSubscribe,
|
||||||
UserID: streamcontrol.ChatUserID(event.UserID),
|
UserID: streamcontrol.ChatUserID(event.UserID),
|
||||||
Username: event.UserName,
|
Username: event.UserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: strings.Join(description, " "),
|
Message: strings.Join(description, " "),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelSubscriptionMessage(func(event twitcheventsub.EventChannelSubscriptionMessage, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelSubscriptionMessage(func(event twitcheventsub.EventChannelSubscriptionMessage, msg twitcheventsub.NotificationMessage) {
|
||||||
@@ -202,7 +202,7 @@ func NewChatHandlerSub(
|
|||||||
"%d months (%d in total), tier '%s', message: %s",
|
"%d months (%d in total), tier '%s', message: %s",
|
||||||
event.DurationMonths, event.CumulativeMonths, event.Tier, event.Message.Text,
|
event.DurationMonths, event.CumulativeMonths, event.Tier, event.Message.Text,
|
||||||
),
|
),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelSubscriptionGift(func(event twitcheventsub.EventChannelSubscriptionGift, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelSubscriptionGift(func(event twitcheventsub.EventChannelSubscriptionGift, msg twitcheventsub.NotificationMessage) {
|
||||||
@@ -216,29 +216,29 @@ func NewChatHandlerSub(
|
|||||||
"gift: %d subs, tier '%s'",
|
"gift: %d subs, tier '%s'",
|
||||||
event.Total, event.Tier,
|
event.Total, event.Tier,
|
||||||
),
|
),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventStreamOnline(func(event twitcheventsub.EventStreamOnline, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventStreamOnline(func(event twitcheventsub.EventStreamOnline, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeStreamOnline,
|
EventType: streamcontrol.EventTypeStreamOnline,
|
||||||
UserID: streamcontrol.ChatUserID(event.BroadcasterUserId),
|
UserID: streamcontrol.ChatUserID(event.BroadcasterUserId),
|
||||||
Username: event.BroadcasterUserName,
|
Username: event.BroadcasterUserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: event.StartedAt.Format(time.DateTime),
|
Message: event.StartedAt.Format(time.DateTime),
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventStreamOffline(func(event twitcheventsub.EventStreamOffline, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventStreamOffline(func(event twitcheventsub.EventStreamOffline, msg twitcheventsub.NotificationMessage) {
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: streamcontrol.EventTypeStreamOffline,
|
EventType: streamcontrol.EventTypeStreamOffline,
|
||||||
UserID: streamcontrol.ChatUserID(event.BroadcasterUserId),
|
UserID: streamcontrol.ChatUserID(event.BroadcasterUserId),
|
||||||
Username: event.BroadcasterUserName,
|
Username: event.BroadcasterUserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
MessageID: streamcontrol.ChatMessageID(msg.Metadata.MessageID),
|
||||||
Message: "",
|
Message: "",
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
eventSubClient.OnEventChannelChatMessage(func(chatEvent twitcheventsub.EventChannelChatMessage, msg twitcheventsub.NotificationMessage) {
|
eventSubClient.OnEventChannelChatMessage(func(chatEvent twitcheventsub.EventChannelChatMessage, msg twitcheventsub.NotificationMessage) {
|
||||||
@@ -248,13 +248,13 @@ func NewChatHandlerSub(
|
|||||||
eventType = streamcontrol.EventTypeCheer
|
eventType = streamcontrol.EventTypeCheer
|
||||||
}
|
}
|
||||||
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
h.sendMessage(ctx, streamcontrol.ChatMessage{
|
||||||
CreatedAt: msg.Metadata.MessageTimestamp,
|
CreatedAt: msg.Metadata.MessageTimestamp,
|
||||||
EventType: eventType,
|
EventType: eventType,
|
||||||
UserID: streamcontrol.ChatUserID(chatEvent.ChatterUserId),
|
UserID: streamcontrol.ChatUserID(chatEvent.ChatterUserId),
|
||||||
Username: chatEvent.ChatterUserName,
|
Username: chatEvent.ChatterUserName,
|
||||||
MessageID: streamcontrol.ChatMessageID(chatEvent.MessageId),
|
MessageID: streamcontrol.ChatMessageID(chatEvent.MessageId),
|
||||||
Message: chatEvent.Message.Text,
|
Message: chatEvent.Message.Text,
|
||||||
FormatType: streamcontrol.TextFormatTypePlain,
|
MessageFormatType: streamcontrol.TextFormatTypePlain,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@@ -150,9 +150,9 @@ func (l *ChatListenerOBSOLETE) listenLoop(ctx context.Context) (_err error) {
|
|||||||
Username: msg.AuthorName,
|
Username: msg.AuthorName,
|
||||||
// TODO: find a way to extract the message ID,
|
// TODO: find a way to extract the message ID,
|
||||||
// in the mean while we we use a soft key for that:
|
// in the mean while we we use a soft key for that:
|
||||||
MessageID: streamcontrol.ChatMessageID(fmt.Sprintf("%s/%s", msg.AuthorName, msg.Message)),
|
MessageID: streamcontrol.ChatMessageID(fmt.Sprintf("%s/%s", msg.AuthorName, msg.Message)),
|
||||||
Message: text,
|
Message: text,
|
||||||
FormatType: format,
|
MessageFormatType: format,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,6 +22,22 @@ func ChatMessageGo2GRPC(
|
|||||||
UsernameReadable: xstring.ToReadable(event.Username),
|
UsernameReadable: xstring.ToReadable(event.Username),
|
||||||
MessageID: string(event.MessageID),
|
MessageID: string(event.MessageID),
|
||||||
Message: event.Message,
|
Message: event.Message,
|
||||||
|
MessageFormatType: MessageFormatTypeGo2GRPC(event.MessageFormatType),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func MessageFormatTypeGo2GRPC(
|
||||||
|
formatType streamcontrol.TextFormatType,
|
||||||
|
) streamd_grpc.TextFormatType {
|
||||||
|
switch formatType {
|
||||||
|
case streamcontrol.TextFormatTypePlain:
|
||||||
|
return streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_PLAIN
|
||||||
|
case streamcontrol.TextFormatTypeMarkdown:
|
||||||
|
return streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_MARKDOWN
|
||||||
|
case streamcontrol.TextFormatTypeHTML:
|
||||||
|
return streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_HTML
|
||||||
|
default:
|
||||||
|
return streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_UNDEFINED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,12 +51,28 @@ func ChatMessageGRPC2Go(
|
|||||||
int64(createdAtUNIXNano)/int64(time.Second),
|
int64(createdAtUNIXNano)/int64(time.Second),
|
||||||
(int64(createdAtUNIXNano)%int64(time.Second))/int64(time.Nanosecond),
|
(int64(createdAtUNIXNano)%int64(time.Second))/int64(time.Nanosecond),
|
||||||
),
|
),
|
||||||
EventType: PlatformEventTypeGRPC2Go(event.GetEventType()),
|
EventType: PlatformEventTypeGRPC2Go(event.GetEventType()),
|
||||||
UserID: streamcontrol.ChatUserID(event.GetUserID()),
|
UserID: streamcontrol.ChatUserID(event.GetUserID()),
|
||||||
Username: event.GetUsername(),
|
Username: event.GetUsername(),
|
||||||
MessageID: streamcontrol.ChatMessageID(event.GetMessageID()),
|
MessageID: streamcontrol.ChatMessageID(event.GetMessageID()),
|
||||||
Message: event.GetMessage(),
|
Message: event.GetMessage(),
|
||||||
|
MessageFormatType: MessageFormatTypeGRPC2Go(event.GetMessageFormatType()),
|
||||||
},
|
},
|
||||||
Platform: streamcontrol.PlatformName(event.GetPlatID()),
|
Platform: streamcontrol.PlatformName(event.GetPlatID()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func MessageFormatTypeGRPC2Go(
|
||||||
|
formatType streamd_grpc.TextFormatType,
|
||||||
|
) streamcontrol.TextFormatType {
|
||||||
|
switch formatType {
|
||||||
|
case streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_PLAIN:
|
||||||
|
return streamcontrol.TextFormatTypePlain
|
||||||
|
case streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_MARKDOWN:
|
||||||
|
return streamcontrol.TextFormatTypeMarkdown
|
||||||
|
case streamd_grpc.TextFormatType_TEXT_FORMAT_TYPE_HTML:
|
||||||
|
return streamcontrol.TextFormatTypeHTML
|
||||||
|
default:
|
||||||
|
return streamcontrol.TextFormatTypeUndefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user