From 8c012375a1fc54bc8fd48be83dcd1dca432407d0 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 18 Apr 2024 17:06:27 +0800 Subject: [PATCH] Fix: disable guess setting need kick guest user --- internal/op/room.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/internal/op/room.go b/internal/op/room.go index b3a0e2b..8389187 100644 --- a/internal/op/room.go +++ b/internal/op/room.go @@ -40,6 +40,13 @@ func (r *Room) PeopleNum() int64 { return r.hub.PeopleNum() } +func (r *Room) KickUser(userID string) error { + if r.hub == nil { + return nil + } + return r.hub.KickUser(userID) +} + func (r *Room) Broadcast(data Message, conf ...BroadcastConf) error { if r.hub == nil { return nil @@ -437,6 +444,9 @@ func (r *Room) SetSettings(settings *model.RoomSettings) error { return err } r.Settings = settings + if settings.DisableGuest { + return r.KickUser(db.GuestUserID) + } return nil } @@ -446,6 +456,9 @@ func (r *Room) UpdateSettings(settings map[string]any) error { return err } r.Settings = rs + if rs.DisableGuest { + return r.KickUser(db.GuestUserID) + } return nil } @@ -488,7 +501,7 @@ func (r *Room) BanMember(userID string) error { } defer func() { r.members.Delete(userID) - _ = r.hub.KickUser(userID) + _ = r.KickUser(userID) }() return db.RoomBanMember(r.ID, userID) }