diff --git a/src/notifications/events.rs b/src/notifications/events.rs
index aa28cd76d55460000cd5b099371659a87dfbc89a..a1f5b79804ce37bd81fc697dbd30883aba58900a 100644
--- a/src/notifications/events.rs
+++ b/src/notifications/events.rs
@@ -157,10 +157,6 @@ pub enum ClientboundNotification {
         user: User,
         status: RelationshipStatus,
     },
-    UserPresence {
-        id: String,
-        online: bool,
-    },
     UserSettingsUpdate {
         id: String,
         update: JsonValue,
diff --git a/src/notifications/websocket.rs b/src/notifications/websocket.rs
index 5046f777a1517dce077154b3966c1bbe14277033..29bf3b3be99bbbe01221d6a9aded16daf08cfecf 100644
--- a/src/notifications/websocket.rs
+++ b/src/notifications/websocket.rs
@@ -129,9 +129,12 @@ async fn accept(stream: TcpStream) {
                                         send(payload);
 
                                         if !was_online {
-                                            ClientboundNotification::UserPresence {
+                                            ClientboundNotification::UserUpdate {
                                                 id: id.clone(),
-                                                online: true,
+                                                data: json!({
+                                                    "online": true
+                                                }),
+                                                clear: None
                                             }
                                             .publish(id);
                                         }
@@ -228,9 +231,12 @@ async fn accept(stream: TcpStream) {
     }
 
     if let Some(id) = offline {
-        ClientboundNotification::UserPresence {
+        ClientboundNotification::UserUpdate {
             id: id.clone(),
-            online: false,
+            data: json!({
+                "online": false
+            }),
+            clear: None
         }
         .publish(id);
     }