Объекты
Пустые поля обычно в JSON не попадают.
User
| Поле | Тип | |
|---|---|---|
id | string | id аккаунта. |
name | string | Имя. |
bot | bool | Аккаунт — бот. |
Chat
| Поле | Тип | |
|---|---|---|
id | string | У личного чата — id собеседника. |
type | string | direct или group. |
title | string | Имя собеседника или название группы. |
members | string[] | id участников группы. |
owner | string | Владелец группы. |
request | bool | Ещё не принят: запрос на переписку или приглашение. |
bot | bool | Личный чат с другим ботом. |
expire_sec | int | Таймер исчезающих сообщений, секунды. |
Message
| Поле | Тип | |
|---|---|---|
id | string | |
chat_id | string | |
from | User | Отправитель; у своих сообщений его нет. |
ts | int | Время отправки, мс. |
status | string | Только у своих: pending, sent, delivered, read, failed. |
text | string | |
mentions | Mention[] | |
reply_to | string | id цитируемого сообщения. |
attachment | Attachment | |
poll | Poll | |
reactions | {from, emoji}[] | from пуст у реакции самого бота. |
edited_ts | int | Последняя правка, мс. |
expire_sec | int | Сообщение исчезнет через столько секунд. |
buttons | Button[][] |
Mention
{user, offset, length}: id аккаунта и место упоминания в text, в единицах UTF-16.
Attachment
| Поле | Тип | |
|---|---|---|
kind | string | photo, video, voice, file. |
mime | string | |
name | string | Имя файла. |
size | int | Байты. |
caption | string | |
width, height | int | Фото и видео. |
duration_ms | int | Видео и голосовые. |
Содержимого в событии нет: скачивайте через GET …/messages/{msg}/file.
Poll
| Поле | Тип | |
|---|---|---|
question | string | |
options | {text, voters}[] | voters — id аккаунтов. |
multiple | bool | Можно выбрать несколько вариантов. |
close_ts | int | Закроется сам в это время, мс. |
closed | bool |
Button
{text, data} или {text, url}. См. кнопки.
Update
| Поле | Тип | |
|---|---|---|
id | int | Растёт на единицу; передавайте id + 1 как offset. |
type | string | message, edited, deleted, reaction, poll, chat, notice, expired, button. |
chat_id | string | |
message | Message | message, edited, poll. |
chat | Chat | chat. |
deleted | {message_id, from} | deleted. |
reaction | {message_id, from, emoji} | reaction; пустой emoji — убрана. |
notice | Notice | notice. |
expired | string[] | expired: id стёртых сообщений. |
button | {message_id, from, data, press_id} | button. |
from в deleted, reaction и button — User.
Notice
{from, code}, где code:
code | |
|---|---|
expire_timer:<сек> | Сменился таймер исчезающих сообщений (0 — выключен). |
message_pinned:<превью> | Закреплено сообщение. |
group_renamed:<имя> | |
group_photo_changed, group_photo_removed | |
safety_number_changed | Сменились ключи собеседника (новое устройство или переустановка). |