0

Add ability to mark a message as ephemeral and set it with title changes

This commit is contained in:
Gabe Kangas 2021-02-23 11:24:32 -08:00
parent 8f1681c7aa
commit 4f833be80a
3 changed files with 7 additions and 3 deletions

View File

@ -62,16 +62,17 @@ func SetStreamTitle(w http.ResponseWriter, r *http.Request) {
return return
} }
if value != "" { if value != "" {
sendSystemChatAction(fmt.Sprintf("Stream title changed to **%s**", value)) sendSystemChatAction(fmt.Sprintf("Stream title changed to **%s**", value), true)
} }
controllers.WriteSimpleResponse(w, true, "changed") controllers.WriteSimpleResponse(w, true, "changed")
} }
func sendSystemChatAction(messageText string) { func sendSystemChatAction(messageText string, ephemeral bool) {
message := models.ChatEvent{} message := models.ChatEvent{}
message.Body = messageText message.Body = messageText
message.MessageType = models.ChatActionSent message.MessageType = models.ChatActionSent
message.ClientID = "internal-server" message.ClientID = "internal-server"
message.Ephemeral = ephemeral
message.SetDefaults() message.SetDefaults()
if err := core.SendMessageToChat(message); err != nil { if err := core.SendMessageToChat(message); err != nil {

View File

@ -137,7 +137,9 @@ func (s *server) Listen() {
// Store in the message history // Store in the message history
msg.SetDefaults() msg.SetDefaults()
addMessage(msg) if !msg.Ephemeral {
addMessage(msg)
}
// Send webhooks // Send webhooks
go webhooks.SendChatEvent(msg) go webhooks.SendChatEvent(msg)

View File

@ -24,6 +24,7 @@ type ChatEvent struct {
MessageType EventType `json:"type"` MessageType EventType `json:"type"`
Visible bool `json:"visible"` Visible bool `json:"visible"`
Timestamp time.Time `json:"timestamp,omitempty"` Timestamp time.Time `json:"timestamp,omitempty"`
Ephemeral bool `json:"ephemeral,omitempty"`
} }
// Valid checks to ensure the message is valid. // Valid checks to ensure the message is valid.