You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
999 B
41 lines
999 B
package chat |
|
|
|
import ( |
|
"errors" |
|
|
|
"github.com/owncast/owncast/core/chat/events" |
|
"github.com/owncast/owncast/core/webhooks" |
|
log "github.com/sirupsen/logrus" |
|
) |
|
|
|
// SetMessagesVisibility will set the visibility of multiple messages by ID. |
|
func SetMessagesVisibility(messageIDs []string, visibility bool) error { |
|
// Save new message visibility |
|
if err := saveMessageVisibility(messageIDs, visibility); err != nil { |
|
log.Errorln(err) |
|
return err |
|
} |
|
|
|
// Send an event letting the chat clients know to hide or show |
|
// the messages. |
|
event := events.SetMessageVisibilityEvent{ |
|
MessageIDs: messageIDs, |
|
Visible: visibility, |
|
} |
|
event.Event.SetDefaults() |
|
|
|
payload := event.GetBroadcastPayload() |
|
if err := _server.Broadcast(payload); err != nil { |
|
return errors.New("error broadcasting message visibility payload " + err.Error()) |
|
} |
|
|
|
// Send webhook |
|
wh := webhooks.WebhookEvent{ |
|
EventData: payload, |
|
Type: event.GetMessageType(), |
|
} |
|
|
|
webhooks.SendEventToWebhooks(wh) |
|
|
|
return nil |
|
}
|
|
|