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

Сообщения

Типичное сообщение:

{
"id": "1465760123456789",
"channel_id": "1465759683653402624",
"guild_id": "1424883034267582464",
"author": {
"id": "974...",
"username": "puncher",
"global_name": "Максим",
"avatar": "abcd1234",
"bot": false
},
"content": "привет всем",
"timestamp": "2026-04-23T19:40:59.000Z",
"edited_timestamp": null,
"tts": false,
"mention_everyone": false,
"mentions": [],
"mention_roles": [],
"attachments": [],
"embeds": [],
"reactions": [],
"pinned": false,
"type": 0,
"flags": 0,
"referenced_message": null
}
ПолеТипОписание
idsnowflakeУникальный ID сообщения
channel_idsnowflakeВ каком канале
guild_idsnowflake | nullID гильдии (нет для DM)
authorUserАвтор. Для системных сообщений — псевдо-пользователь
contentstringТекст. До 4000 символов
timestampISO 8601Когда создано
edited_timestampISO 8601 | nullКогда отредактировано
attachmentsarrayПрикреплённые файлы
embedsarrayЭмбеды (см. ниже)
reactionsarray{emoji, count, me} для каждой реакции
mentionsarrayУпомянутые пользователи
mention_rolesarrayУпомянутые роли
mention_everyonebooleanБыл ли @everyone/@here
pinnedbooleanЗакреплено ли
typeintegerТип (0 = обычное, 6 = pin-уведомление, 7 = member-join и т.д.)
flagsintegerБитовое поле (URGENT, SUPPRESS_EMBEDS и т.д.)
referenced_messageMessage | nullДля reply — сообщение, на которое отвечаем

Требует: SEND_MESSAGES в канале.

Окно терминала
curl https://floodilka.com/api/v1/channels/$CHANNEL_ID/messages \
-X POST \
-H "Authorization: Bot $TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Привет!"}'
ПолеТипОбязательноОписание
contentstringОдно из трёхТекст сообщения
embedsarrayОдно из трёхДо 10 эмбедов
attachmentsarrayОдно из трёхСсылки на загруженные файлы
ttsbooleanНетText-to-speech (требует SEND_TTS_MESSAGES)
message_referenceobjectНетReply-цель
allowed_mentionsobjectНетКонтроль над тем, кого реально «пингуем»

Нужно прислать хотя бы одно из content, embeds, attachments — пустое сообщение вернёт CANNOT_SEND_EMPTY_MESSAGE.

Эмбед — структурированный блок с заголовком, описанием, полями, изображениями. Полезны для рангов, статистики, карточек команд.

{
"title": "Заголовок",
"description": "Описание. Поддерживает **markdown**.",
"url": "https://example.com",
"color": 5763719,
"author": { "name": "Имя автора", "icon_url": "..." },
"thumbnail": { "url": "..." },
"image": { "url": "..." },
"footer": { "text": "Подвал", "icon_url": "..." },
"timestamp": "2026-04-23T19:00:00.000Z",
"fields": [
{"name": "Поле", "value": "Значение", "inline": true}
]
}

Лимиты:

  • title — 256 символов
  • description — 4096 символов
  • fields — до 25, каждое поле name до 256, value до 1024
  • Суммарно по всем эмбедам сообщения — до 6000 символов

Загрузка файлов происходит в два шага:

  1. Запросите URL для загрузки через POST /channels/:id/attachments — получите presigned URL
  2. PUT файл на полученный URL
  3. При отправке сообщения включите attachments: [{id, filename, size}] с данными из шага 1

Редактировать можно только своё сообщение (или через MANAGE_MESSAGES — чужое, но не все поля).

Удалить своё — всегда. Чужое — нужен MANAGE_MESSAGES.

Массовое удаление от 2 до 100 сообщений за раз. Нужно MANAGE_MESSAGES. Сообщения старше 2 недель удалить bulk’ом нельзя — по одному через DELETE.

Эмоджи в URL нужно URL-кодировать:

  • Unicode: :emoji = символ в URL-encoded виде (%F0%9F%91%8D для 👍)
  • Кастомное: :emoji = name:id, например thumbs_up:974...
Окно терминала
curl -X PUT "https://floodilka.com/api/v1/channels/$CID/messages/$MID/reactions/%F0%9F%91%8D/@me" \
-H "Authorization: Bot $TOKEN"

Убрать свою реакцию.

Убрать реакцию конкретного пользователя (нужно MANAGE_MESSAGES).

Очистить все реакции. Нужно MANAGE_MESSAGES.

  • Каналы — типы каналов, в которые можно писать
  • СобытияMESSAGE_CREATE, MESSAGE_UPDATE, MESSAGE_REACTION_ADD и другие
  • Коды ошибокCANNOT_SEND_EMPTY_MESSAGE, SLOWMODE_RATE_LIMITED, MISSING_PERMISSIONS