Портал разработчиков
Экспериментально Платформа для ботов и приложений активно развивается. Поддержка собственных серверов вышла 13.08.2026, и функций там пока меньше, чем в облаке. Посмотрите, что поддерживается.
← Документация

Эмодзи приложения

Эмодзи, загруженные в ваше приложение, можно использовать на любом сервере, где пишет бот, не занимая слоты эмодзи этого сервера. Как в Discord: тот же формат данных, тот же синтаксис <:name:id> в тексте сообщения.

Ограничения

  • 2000 эмодзи на приложение (мягкий лимит, проверяется при создании).
  • Максимальный размер файла 256 КБ.
  • Типы содержимого: image/png, image/jpeg, image/gif, image/webp.
  • Название: 2–32 символа, набор [a-zA-Z0-9_]. Уникально в пределах приложения без учёта регистра: BotIcon и boticon конфликтуют.

Определение анимации

Флаг animated устанавливается на сервере по типу содержимого загрузки. Всё, что загружено как image/gif, считается анимированным. Клиент не может это переопределить. Ссылаясь на анимированный эмодзи в тексте сообщения, используйте префикс <a:name:id> (как в Discord).

Эндпоинты REST (для ботов)

Bot-API предоставляет доступ к эмодзи вашего приложения только для чтения. Аутентификация: Authorization: Bot {token}.

GET /applications/{application.id}/emojis
GET /applications/{application.id}/emojis/{emoji.id}

Структура ответа (элементы списка и GET одного эмодзи имеют одинаковую структуру Discord):

{
  "id": "1199283740192847360",
  "name": "thinking_orange",
  "animated": false,
  "user": { "id": "...", "username": "you" },
  "managed": false,
  "available": true
}

Создание, изменение и удаление в bot-API недоступны. Маршруты Discord POST /applications/{id}/emojis, PATCH и DELETE в GameVox возвращают 404. Всё управление эмодзи идёт через портал разработчиков (см. ниже); мы планируем открыть эндпоинты записи в формате Discord, когда конвейер модерации на стороне портала станет достаточно стабильным, чтобы работать без участия человека.

Эмодзи в сообщениях

Ссылайтесь на эмодзи приложения в content так же, как на эмодзи сервера:

// Статичный
"hello <:thinking_orange:1199283740192847360>"

// Анимированный (обратите внимание на префикс `a:`)
"thanks <a:wave_orange:1199283740192847361>"

Для реакций передайте name:id в URL-кодированном пути эмодзи в PUT /channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me, как в Discord.

Загрузка через портал

Портал разработчиков загружает эмодзи через тот же конвейер с предподписанными URL, что и аватары и значки приложений:

  1. POST /api/uploads/presign с purpose=bot_app_emoji и application_id.
  2. PUT файла на полученный URL S3.
  3. POST /api/uploads/complete с полученным file_id.
  4. POST /developer-portal/applications/{id}/emojis с {name, file_id}.

Сервер проверяет, что префикс s3_key файла совпадает с bot-emojis/{application_id}/, так что утёкший file_id другого приложения привязать не удастся.

Хранение

Хранятся в bot-emojis/{application_id}/{file_id}.{ext} в публичном бакете gamevox-files-prod. При мягком удалении строки объект в S3 остаётся на месте; осиротевшие объекты собирает фоновый процесс очистки.

← Назад к документации