diff --git a/bot/handlers/presence_update_handler.go b/bot/handlers/presence_update_handler.go index c641a831..f6cc32c0 100644 --- a/bot/handlers/presence_update_handler.go +++ b/bot/handlers/presence_update_handler.go @@ -47,7 +47,7 @@ func gatewayHandlerPresenceUpdate(client *bot.Client, sequenceNumber int, shardI }) } - if oldClientStatus.Desktop != event.ClientStatus.Desktop || oldClientStatus.Mobile != event.ClientStatus.Mobile || oldClientStatus.Web != event.ClientStatus.Web { + if oldClientStatus != event.ClientStatus { client.EventManager.DispatchEvent(&events.UserClientStatusUpdate{ GenericEvent: genericEvent, UserID: event.PresenceUser.ID, diff --git a/discord/presence.go b/discord/presence.go index 731c10ee..35c78be9 100644 --- a/discord/presence.go +++ b/discord/presence.go @@ -28,9 +28,10 @@ const ( OnlineStatusOffline OnlineStatus = "offline" ) -// ClientStatus (https://discord.com/developers/docs/topics/gateway#client-status-object) +// ClientStatus (https://docs.discord.com/developers/events/gateway-events#client-status-object) type ClientStatus struct { Desktop OnlineStatus `json:"desktop,omitempty"` Mobile OnlineStatus `json:"mobile,omitempty"` Web OnlineStatus `json:"web,omitempty"` + VR OnlineStatus `json:"vr,omitempty"` }