parent
8692dcca16
commit
d5a6267b1f
@ -664,6 +664,26 @@ func SetSuggestedUsernameList(w http.ResponseWriter, r *http.Request) {
|
|||||||
controllers.WriteSimpleResponse(w, true, "suggested username list updated")
|
controllers.WriteSimpleResponse(w, true, "suggested username list updated")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetChatJoinMessagesEnabled will enable or disable the chat join messages.
|
||||||
|
func SetChatJoinMessagesEnabled(w http.ResponseWriter, r *http.Request) {
|
||||||
|
if !requirePOST(w, r) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
configValue, success := getValueFromRequest(w, r)
|
||||||
|
if !success {
|
||||||
|
controllers.WriteSimpleResponse(w, false, "unable to update chat join messages enabled")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := data.SetChatJoinMessagesEnabled(configValue.Value.(bool)); err != nil {
|
||||||
|
controllers.WriteSimpleResponse(w, false, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
controllers.WriteSimpleResponse(w, true, "chat join message status updated")
|
||||||
|
}
|
||||||
|
|
||||||
func requirePOST(w http.ResponseWriter, r *http.Request) bool {
|
func requirePOST(w http.ResponseWriter, r *http.Request) bool {
|
||||||
if r.Method != controllers.POST {
|
if r.Method != controllers.POST {
|
||||||
controllers.WriteSimpleResponse(w, false, r.Method+" not supported")
|
controllers.WriteSimpleResponse(w, false, r.Method+" not supported")
|
||||||
|
@ -52,6 +52,7 @@ func GetServerConfig(w http.ResponseWriter, r *http.Request) {
|
|||||||
WebServerIP: config.WebServerIP,
|
WebServerIP: config.WebServerIP,
|
||||||
RTMPServerPort: data.GetRTMPPortNumber(),
|
RTMPServerPort: data.GetRTMPPortNumber(),
|
||||||
ChatDisabled: data.GetChatDisabled(),
|
ChatDisabled: data.GetChatDisabled(),
|
||||||
|
ChatJoinMessagesEnabled: data.GetChatJoinMessagesEnabled(),
|
||||||
VideoSettings: videoSettings{
|
VideoSettings: videoSettings{
|
||||||
VideoQualityVariants: videoQualityVariants,
|
VideoQualityVariants: videoQualityVariants,
|
||||||
LatencyLevel: data.GetStreamLatencyLevel().Level,
|
LatencyLevel: data.GetStreamLatencyLevel().Level,
|
||||||
@ -95,6 +96,7 @@ type serverConfigAdminResponse struct {
|
|||||||
VideoSettings videoSettings `json:"videoSettings"`
|
VideoSettings videoSettings `json:"videoSettings"`
|
||||||
YP yp `json:"yp"`
|
YP yp `json:"yp"`
|
||||||
ChatDisabled bool `json:"chatDisabled"`
|
ChatDisabled bool `json:"chatDisabled"`
|
||||||
|
ChatJoinMessagesEnabled bool `json:"chatJoinMessagesEnabled"`
|
||||||
ExternalActions []models.ExternalAction `json:"externalActions"`
|
ExternalActions []models.ExternalAction `json:"externalActions"`
|
||||||
SupportedCodecs []string `json:"supportedCodecs"`
|
SupportedCodecs []string `json:"supportedCodecs"`
|
||||||
VideoCodec string `json:"videoCodec"`
|
VideoCodec string `json:"videoCodec"`
|
||||||
|
@ -91,7 +91,7 @@ func (s *Server) Addclient(conn *websocket.Conn, user *user.User, accessToken st
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Do not send user re-joined broadcast message if they've been active within 5 minutes.
|
// Do not send user re-joined broadcast message if they've been active within 5 minutes.
|
||||||
shouldSendJoinedMessages := true
|
shouldSendJoinedMessages := data.GetChatJoinMessagesEnabled()
|
||||||
if previouslyLastSeen, ok := _lastSeenCache[user.ID]; ok && time.Since(previouslyLastSeen) < time.Minute*5 {
|
if previouslyLastSeen, ok := _lastSeenCache[user.ID]; ok && time.Since(previouslyLastSeen) < time.Minute*5 {
|
||||||
shouldSendJoinedMessages = false
|
shouldSendJoinedMessages = false
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,7 @@ const (
|
|||||||
federationShowEngagementKey = "federation_show_engagement"
|
federationShowEngagementKey = "federation_show_engagement"
|
||||||
federationBlockedDomainsKey = "federation_blocked_domains"
|
federationBlockedDomainsKey = "federation_blocked_domains"
|
||||||
suggestedUsernamesKey = "suggested_usernames"
|
suggestedUsernamesKey = "suggested_usernames"
|
||||||
|
chatJoinMessagesEnabledKey = "chat_join_messages_enabled"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetExtraPageBodyContent will return the user-supplied body content.
|
// GetExtraPageBodyContent will return the user-supplied body content.
|
||||||
@ -754,3 +755,18 @@ func GetBlockedFederatedDomains() []string {
|
|||||||
|
|
||||||
return strings.Split(domains, ",")
|
return strings.Split(domains, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetChatJoinMessagesEnabled will set if chat join messages are enabled.
|
||||||
|
func SetChatJoinMessagesEnabled(enabled bool) error {
|
||||||
|
return _datastore.SetBool(chatJoinMessagesEnabledKey, enabled)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetChatJoinMessagesEnabled will return if chat join messages are enabled.
|
||||||
|
func GetChatJoinMessagesEnabled() bool {
|
||||||
|
enabled, err := _datastore.GetBool(chatJoinMessagesEnabledKey)
|
||||||
|
if err != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return enabled
|
||||||
|
}
|
||||||
|
@ -161,6 +161,9 @@ func Start() error {
|
|||||||
// Disable chat
|
// Disable chat
|
||||||
http.HandleFunc("/api/admin/config/chat/disable", middleware.RequireAdminAuth(admin.SetChatDisabled))
|
http.HandleFunc("/api/admin/config/chat/disable", middleware.RequireAdminAuth(admin.SetChatDisabled))
|
||||||
|
|
||||||
|
// Disable chat user join messages
|
||||||
|
http.HandleFunc("/api/admin/config/chat/joinmessagesenabled", middleware.RequireAdminAuth(admin.SetChatJoinMessagesEnabled))
|
||||||
|
|
||||||
// Set chat usernames that are not allowed
|
// Set chat usernames that are not allowed
|
||||||
http.HandleFunc("/api/admin/config/chat/forbiddenusernames", middleware.RequireAdminAuth(admin.SetForbiddenUsernameList))
|
http.HandleFunc("/api/admin/config/chat/forbiddenusernames", middleware.RequireAdminAuth(admin.SetForbiddenUsernameList))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user