Browse Source

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

pull/761/head
Gabe Kangas 5 years ago
parent
commit
4f833be80a
  1. 5
      controllers/admin/config.go
  2. 4
      core/chat/server.go
  3. 1
      models/chatMessage.go

5
controllers/admin/config.go

@ -62,16 +62,17 @@ func SetStreamTitle(w http.ResponseWriter, r *http.Request) { @@ -62,16 +62,17 @@ func SetStreamTitle(w http.ResponseWriter, r *http.Request) {
return
}
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")
}
func sendSystemChatAction(messageText string) {
func sendSystemChatAction(messageText string, ephemeral bool) {
message := models.ChatEvent{}
message.Body = messageText
message.MessageType = models.ChatActionSent
message.ClientID = "internal-server"
message.Ephemeral = ephemeral
message.SetDefaults()
if err := core.SendMessageToChat(message); err != nil {

4
core/chat/server.go

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

1
models/chatMessage.go

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

Loading…
Cancel
Save