← Документация
Матрица возможностей
Обзор в формате «а это работает?» по каждой функции ботов Discord в GameVox. Используйте его, чтобы оценить объём миграции, прежде чем менять URL шлюза. Столбец Собственный сервер показывает, работает ли функция, когда бот установлен на собственном сервере GameVox. Архитектура пересылки описана в документации по собственным серверам.
| Область | Функция | Облако | Собственный сервер | Примечания |
|---|---|---|---|---|
| Шлюз | Кодировка JSON | Да | Да | По умолчанию; её используют все библиотеки |
| Сжатие zlib-stream | Да | Да | Поддерживается всеми основными библиотеками | |
| Кодировка ETF | Нет | Нет | Библиотеки переключаются на JSON, если encoding=etf недоступен | |
| Сжатие Zstandard | Нет | Нет | zlib-stream является универсальной альтернативой | |
| Возобновление / op:6 | Да | Да | Буфер возобновления дублируется в Redis, поэтому op:6 переживает перезапуск задач api | |
| Шардинг | Да | Да | Стандартный хеш (guild_id >> 22) % num_shards | |
| REST | CRUD сообщений | Да | Да | Отправка, изменение, удаление, массовое удаление, получение, закрепление, набор текста, реакции |
| CRUD каналов | Да | Да | Облако: вкл. перезаписи прав и изменение порядка. Собственный сервер: изменение порядка есть, вместо перезаписей для отдельных каналов используются группы | |
| Перезаписи прав для отдельных каналов | Да | Нет | Собственный сервер использует права на уровне групп; PUT перезаписи возвращает 501 | |
| Участники / роли / баны | Да | Да | Полный CRUD; communication_disabled_until (тайм-аут) не поддерживается | |
| Вебхуки (канала и приложения) | Да | Да | Полный CRUD + выполнение (эмбеды, вложения, multipart). Строки хранятся в облаке; выполнение записывает сообщения в каналы собственного сервера через путь пересылки для ботов | |
| Эмодзи приложения | Только портал | Только портал | Управляются в портале разработчиков; GET в bot-API работает. См. Эмодзи | |
| Журнал аудита | Частично | Частично | Записи, важные для ботов; история перезаписей для отдельных каналов не индексируется | |
| Заголовки рейт-лимитов | Да | Да | X-RateLimit-* в каждом ответе, с учётом бакетов | |
| Взаимодействия | Команды приложения (слэш, пользователя, сообщения) | Да | Да | Массовый PUT + CRUD по отдельности. Команды регистрируются в облаке для обоих видов серверов; вызовы на собственных серверах маршрутизируются через облако |
| Кнопки, текстовые списки выбора, модальные окна (Компоненты v1) | Да | Да | Эфемерные ответы тоже. Только в каналах сервера, не в ЛС. См. Компоненты сообщений | |
| Списки выбора пользователей, ролей, упоминаемых и каналов | Частично | Частично | Принимаются и сохраняются; клиенты показывают их отключёнными, поэтому они никогда не вызывают взаимодействие | |
| Компоненты v2 | Нет | Нет | Не поддерживаются; компоненты разметки v2 не отображаются | |
| Взаимодействия в режиме HTTP (исходящий эндпоинт) | Частично | Частично | Отправляются POST на ваш interactions_endpoint_url с подписью Ed25519, с откатом на шлюз, если эндпоинт не отвечает. Нужна подключённая сессия шлюза, а тело ответа игнорируется: отвечайте через эндпоинт обратного вызова. См. OAuth2 | |
| Голос | Голосовой шлюз UDP | Да | Да | По регионам. См. документацию по голосу |
| AEAD AES-256-GCM | Да | Да | Предпочтительный | |
| AEAD XChaCha20-Poly1305 | Да | Да | Запасной | |
| Изменение голосового состояния ботом | Да | Частично | Везде: PATCH .../voice-states/{user_id} для отключения микрофона, перемещения и отключения от канала. Собственный сервер: deaf возвращает 501 (нет примитива в SFU); перемещение даёт два события вместо одного | |
| Прочее | Эмодзи сервера (чтение) | Да | Да | Список + получение; создание, изменение и удаление только через портал |
| Саундборд (чтение) | Да | Да | Список + получение; воспроизведение ботом не поддерживается | |
| Персональный URL (vanity) | Частично | Нет | Облако: чтение + изменение (серверы Gold и выше). Собственный сервер: PATCH возвращает 501 | |
| Темы (threads) / публикации форумов | Заглушка | Заглушка | Каналы-форумы есть; CRUD тем возвращает пустой ответ / 400 | |
| Stage-каналы, AutoMod, запланированные события | Нет | Нет | Интенты принимаются, событий нет | |
| Premium Apps / Entitlements | Нет | Нет | В v1 нет слоя монетизации | |
| Портал | Команды (совместное владение) | Да | Как в Discord. См. Команды | |
| Передача приложения команде | Да | Односторонняя (как в Discord) | ||
| Тестировщики (белый список установки закрытых приложений) | Да | 100 на приложение. См. Команды → Тестировщики | ||
| URL установки OAuth2 (контексты пользователя и сервера) | Да | Нет / от GameVox / собственный URL. См. OAuth2 | ||
| Смена секрета клиента | Да | Хешируется bcrypt; показывается один раз при создании / смене | ||
| Публикация бота в каталоге | Да | Публикации с одобрением администратора на gamevox.com/bots | ||
Обозначения
- Да: работает как в Discord, без изменений кода.
- Частично: совместимо по протоколу, но часть семантики отсутствует. Вызывать безопасно, но события могут не приходить.
- Нет: принимается протоколом (не вызовет 4014), но ничего не делает. Исходите из того, что этого нет.