Сообщение бота — текст до 4000 символов, вложения, до 10 карточек (embeds) и до 5 рядов кнопок. Формат совместим с Discord.
curl -X POST https://voice-chat.ru/api/channels/$CHANNEL_ID/messages \
-H "Authorization: Bot $VOICE_TOKEN" -H "Content-Type: application/json" \
-d @message.jsonmessage.json
{
"content": "Голосование на сегодня",
"embeds": [{
"title": "Пицца?",
"description": "Выберите вариант",
"url": "https://example.com/poll",
"color": 8150271,
"author": { "name": "Опросник", "icon_url": "https://example.com/bot.png" },
"fields": [
{ "name": "За", "value": "0", "inline": true },
{ "name": "Против", "value": "0", "inline": true }
],
"footer": { "text": "Закроется в 18:00" },
"timestamp": "2026-10-07T12:00:00.000Z"
}],
"components": [{
"type": "row",
"components": [
{ "type": "button", "style": "success", "label": "За", "custom_id": "vote_yes" },
{ "type": "button", "style": "danger", "label": "Против", "custom_id": "vote_no" },
{ "type": "button", "style": "link", "label": "Подробнее", "url": "https://example.com" }
]
}]
}Карточки (embeds)
| Поле | Тип | Описание |
|---|---|---|
title | string | До 256 символов. |
description | string | До 4096 символов. |
url | string | Ссылка заголовка (http/https). |
color | integer | Цвет полоски: 0…16777215 (0xRRGGBB). |
timestamp | string | Дата ISO 8601. |
author | { name, url?, icon_url? } | Автор вверху карточки. |
footer | { text, icon_url? } | Подпись внизу, до 2048 символов. |
image, thumbnail | { url } | Большая картинка и миниатюра (http/https). |
fields | { name, value, inline? }[] | До 25 полей: name до 256, value до 1024 символов. |
Весь текст карточек одного сообщения — не больше 6000 символов. Карточки и кнопки могут отправлять только боты (и вебхуки — карточки).
Кнопки (components)
До 5 рядов { "type": "row", "components": [...] }, в ряду от 1 до 5 кнопок. Принимается и числовой формат Discord: ряд — type 1, кнопка — type 2, стили 1–5.
| Поле | Тип | Описание |
|---|---|---|
typeобяз. | "button" | Тип элемента. |
styleобяз. | string | primary, secondary, success, danger или link. |
label | string | Надпись до 80 символов (нужна label или emoji). |
emoji | string | Эмодзи на кнопке. |
custom_id | string | До 100 символов, уникален в сообщении. Приходит боту при нажатии. Для всех стилей, кроме link. |
url | string | Только для link: адрес http/https, открывается у пользователя. |
disabled | boolean | Неактивная кнопка. |
Вложения
Сначала загрузите файл (multipart/form-data, поле file, до 50 МБ), затем передайте ответ в attachments. До 10 вложений; исполняемые файлы запрещены, картинки и видео проходят проверку на 18+.
curl -X POST https://voice-chat.ru/api/uploads/attachment -H "Authorization: Bot $VOICE_TOKEN" -F file=@report.pdf
# → { "url": "/uploads/attachments/….pdf", "name": "report.pdf", "contentType": "application/pdf", "size": 48213 }
curl -X POST https://voice-chat.ru/api/channels/$CHANNEL_ID/messages \
-H "Authorization: Bot $VOICE_TOKEN" -H "Content-Type: application/json" \
-d '{ "content": "Отчёт за неделю", "attachments": [{ "url": "/uploads/attachments/….pdf", "name": "report.pdf" }] }'Упоминания и ответы
@никв тексте упоминает участника,@Роль— всех с ролью,@everyoneи@here— всех на сервере.replyTo— id сообщения, на которое бот отвечает.- Изменить можно только своё сообщение; удалить чужое — с правом «Управлять сообщениями».