UserStatusChanged
Топик: group-events · Конверт: GroupId, UserId
Происходит при изменении presence-статуса участника (онлайн/офлайн/не беспокоить/невидимый) или
его текстового статуса — в том числе через SetStatus из
«Основные методы». Как и UserProfileUpdated, рассылается по одному
событию в каждую группу, где состоит пользователь.
Payload
| Поле | Описание |
|---|---|
UserId | Кто сменил статус |
PresenceStatus | Online = 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.