Перейти к содержимому

Удаление

Обновлено 17 октября 2026

Сообщение в чате удалили для всех.

typeWebhook incomingMessageReceived; своё удаление, если площадка назвала автора, — outgoingMessageReceived
typeMessage deletedMessage
Флаг настроек incomingWebhook; своё удаление — outgoingMessageWebhook
Каналы MAX, Telegram, WhatsApp

Пример

В MAX удалили сообщение 117428955282341903:

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {"idInstance": 7100000001, "wid": "79990000001@c.us", "typeInstance": "v3", "channel": "max"},
  "timestamp": 1791823760,
  "idMessage": "117428955282341903:delete",
  "eventId": "del:8695836:117428955282341903",
  "senderData": {
    "chatId": "8695836", "chatName": "", "chatType": "user",
    "sender": "", "senderName": "", "senderType": "user",
    "senderContactName": "", "senderPhoneNumber": 0
  },
  "messageData": {
    "typeMessage": "deletedMessage",
    "deletedMessageData": {"stanzaId": "117428955282341903"}
  }
}

Поля

Поле Описание
idMessage id события: {id}:delete
messageData.deletedMessageData.stanzaId idMessage удалённого сообщения
senderData.chatId чат, где удалили сообщение

Остальные поля конверта — в статье Формат уведомления.

Кто удалил

MAX и Telegram обычно сообщают об удалении без автора: sender, senderName и chatName пустые, а typeWebhook — incomingMessageReceived, даже если удалили сообщение номера канала. Кто автор, узнайте по stanzaId в своей ленте.

WhatsApp сообщает автора: sender — кто удалил, своё удаление приходит как outgoingMessageReceived с флагом outgoingMessageWebhook.

После простоя

Удаления, сделанные, пока канал был не на связи, не дочитываются. Отметку isDeleted видно в истории чата — getChatHistory.

Как обработать

Пометить сообщение удалённым, но не стирать его у себя — оператору может понадобиться история:

def on_delete(body: dict) -> None:
    data = body["messageData"]
    if data["typeMessage"] != "deletedMessage":
        return
    chat_id = body["senderData"]["chatId"]
    message_id = data["deletedMessageData"]["stanzaId"]
    mark_deleted(chat_id, message_id, deleted_at=body["timestamp"])

Что дальше

  • deleteMessage — удалить своё сообщение.
  • Правка — уведомление об исправленном сообщении.

Была ли статья полезна?