Справочник API

Справочник REST API

REST API Voice: JSON по HTTPS на https://voice-chat.ru/api. Здесь описаны методы, доступные ботам и сайтам; остальное API — внутреннее для приложений Voice и может меняться.

Авторизация

ЗаголовокКтоЧто доступно
Authorization: Bot vbt_…БотМетоды с пометкой Bot
Authorization: Bearer vat_…Сайт через Voice IDМетоды с пометкой Bearer — в пределах выданных прав (scope)
curl https://voice-chat.ru/api/users/@me -H "Authorization: Bot $VOICE_TOKEN"

Формат

  • Тела запросов и ответов — JSON (Content-Type: application/json), кроме загрузки файлов (multipart) и /oauth2/token (form-urlencoded).
  • Идентификаторы — строки с префиксом: u_ пользователь, s_ сервер, c_ канал, r_ роль, m_ сообщение, dm_ личная беседа. ID приложений и команд — числовые строки.
  • Время — миллисекунды Unix (createdAt, editedAt, joinedAt); в карточках (embeds) — ISO 8601.
  • Права — десятичная строка битовой маски, см. Права.
  • Ошибки — HTTP-код и { "error": "текст" }, иногда с code. См. Ошибки.
  • Ответы API не кэшируются (Cache-Control: no-store). При 429 смотрите Retry-After — Лимиты.

Основные объекты

Пользователь (публичный)
{
  "id": "u_…",
  "username": "alice",
  "displayName": "Алиса",
  "avatar": "/uploads/avatars/….webp",   // относительные адреса — от https://voice-chat.ru
  "banner": null,
  "bio": "…",
  "status": "online",
  "customStatus": null,
  "createdAt": 1767225600000,
  "bot": true,                            // только у ботов
  "botAppId": "1790…"
}
Сообщение
{
  "id": "m_…",
  "channelId": "c_…",
  "authorId": "u_…",
  "content": "Привет!",
  "attachments": [{ "url": "/uploads/attachments/….png", "name": "cat.png", "contentType": "image/png", "size": 48213 }],
  "replyTo": null,
  "mentions": ["u_…"],
  "editedAt": null,
  "pinned": false,
  "type": "default",
  "createdAt": 1767225600000,
  "reactions": [{ "emoji": "👍", "count": 2, "me": false }],
  "embeds": [ … ],          // если есть
  "components": [ … ],      // если есть
  "interaction": { "id": "…", "name": "ping", "userId": "u_…" }   // ответ на команду
}

Разделы

РазделМетоды
ПользователиКто я, профиль пользователя, мои серверы
СерверыКаналы, роли, участники
СообщенияИстория, поиск, отправка, правка, реакции, закрепление
Личные сообщенияБеседы бота с людьми
КомандыКоманды «/» бота
ВзаимодействияОтветы на команды и кнопки
ФайлыЗагрузка вложений
ВебхукиСообщения по адресу вебхука
OAuth2Voice ID: токены, userinfo, ключи