From 41cf3b366e90ff7329d757c6d2f244b0093c2b1e Mon Sep 17 00:00:00 2001 From: icey-yu <1186114839@qq.com> Date: Wed, 9 Oct 2024 17:37:45 +0800 Subject: [PATCH] feat: online and offline webhook --- internal/msggateway/online.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/msggateway/online.go b/internal/msggateway/online.go index 27b4544aa..22a9e38e3 100644 --- a/internal/msggateway/online.go +++ b/internal/msggateway/online.go @@ -90,6 +90,14 @@ func (ws *WsServer) ChangeOnlineStatus(concurrent int) { if _, err := ws.userClient.Client.SetUserOnlineStatus(ctx, req); err != nil { log.ZError(ctx, "update user online status", err) } + for _, ss := range req.Status { + for _, online := range ss.Online { + ws.webhookAfterUserOnline(ctx, &ws.msgGatewayConfig.WebhooksConfig.AfterUserOnline, ss.UserID, int(online), false, ss.ConnID) + } + for _, offline := range ss.Offline { + ws.webhookAfterUserOffline(ctx, &ws.msgGatewayConfig.WebhooksConfig.AfterUserOffline, ss.UserID, int(offline), ss.ConnID) + } + } } for i := 0; i < concurrent; i++ {