Перейти к основному содержимому
Версия: 2026.2.4

UserStatusChanged

Топик: group-events · Конверт: GroupId, UserId

Происходит при изменении presence-статуса участника (онлайн/офлайн/не беспокоить/невидимый) или его текстового статуса — в том числе через SetStatus из «Основные методы». Как и UserProfileUpdated, рассылается по одному событию в каждую группу, где состоит пользователь.

Payload​

ПолеОписание
UserIdКто сменил статус
PresenceStatusOnline = 0, Offline = 1, DoNotDisturb = 2, Invisible = 3
StatusТекущий текстовый статус (или null)
LastActivityВремя последней активности
{
"Type": "UserStatusChanged",
"PayloadJson": "{\"UserId\":\"d4d40000-0000-0000-0000-000000000001\",\"PresenceStatus\":2,\"Status\":\"In a meeting\",\"LastActivity\":\"2026-07-31T10:07:00Z\"}",
"Timestamp": 1785500310000,
"GroupId": "b3b10000-0000-0000-0000-000000000001",
"UserId": "d4d40000-0000-0000-0000-000000000001"
}
PresenceStatus внутри PayloadJson — число, а не строка

В отличие от верхнеуровневого поля Type, которое всегда сериализуется как строка, вложенные enum'ы внутри PayloadJson (как здесь PresenceStatus) остаются числами. Не полагайтесь на то, что все enum'ы события — текстовые: гарантия строкового формата действует только для Type.

На этой странице