Справочник API

Сообщения — API

Методы работают и для каналов серверов, и для личных бесед (dm_…). Права проверяются как у участника: просмотр канала, «Отправлять сообщения», «Управлять сообщениями».

GET/api/channels/:channelId/messages

История канала

Bot
ПараметрТипОписание
limitintegerСколько сообщений, по умолчанию 50, максимум 100.
beforeintegerТолько сообщения старше этого времени (createdAt, мс) — для листания назад.

Ответ: { "messages": [Message] }, от новых к старым.

GET/api/channels/:channelId/messages/pinned

Закреплённые сообщения

Bot

Ответ: { "messages": [Message] }.

POST/api/channels/:channelId/messages

Отправить сообщение

Bot
ПолеТипОписание
contentобяз.stringТекст до 4000 символов. Нужен content, вложение или карточка.
replyTostring | nullid сообщения, на которое ответ.
attachmentsAttachment[]До 10 файлов из загрузки: { url, name, contentType?, size? }.
embedsEmbed[]До 10 карточек — формат.
componentsRow[]До 5 рядов кнопок — формат.

Ответ: { "message": Message }. Все подписанные получают MESSAGE_CREATE. 403 — нет права писать в канал или человек закрыл личные сообщения; 429 — лимит или медленный режим канала.

PATCH/api/channels/:channelId/messages/:messageId

Изменить своё сообщение

Bot

Тело: { "content": "новый текст" } (1–4000 символов). Только своё сообщение. Ответ: { "message": Message }.

DELETE/api/channels/:channelId/messages/:messageId

Удалить сообщение

Bot

Своё — всегда; чужое — с правом «Управлять сообщениями». Ответ: { "ok": true }.

PUT/api/channels/:channelId/messages/:messageId/reactions/:emoji

Поставить или снять реакцию

Bot

Переключатель: повторный вызов снимает реакцию. :emoji — эмодзи, закодированный в адресе (encodeURIComponent("👍")).

JSON
{ "added": true, "reactions": [{ "emoji": "👍", "count": 3, "me": true }] }
PATCH/api/channels/:channelId/messages/:messageId/pin

Закрепить или открепить

Bot

Тело: { "pinned": true }. На сервере нужно право «Управлять сообщениями».