← Documentación
Matriz de funciones
Una vista de “¿esto funciona?” de cada función de bot de Discord en GameVox. Úsala para dimensionar una migración antes de cambiar la URL del gateway. La columna Autoalojado indica si una función funciona cuando tu bot está instalado en el servidor de GameVox autoalojado de un cliente. Consulta la documentación de autoalojamiento para ver la arquitectura de reenvío.
| Área | Función | Nube | Autoalojado | Notas |
|---|---|---|---|---|
| Gateway | Codificación JSON | Sí | Sí | Por defecto; lo que usa cada biblioteca |
| Compresión zlib-stream | Sí | Sí | Cubierta por todas las bibliotecas principales | |
| Codificación ETF | No | No | Las bibliotecas recurren a JSON cuando falta encoding=etf | |
| Compresión Zstandard | No | No | zlib-stream es la alternativa universal | |
| Resume / op:6 | Sí | Sí | El búfer de reanudación se replica en Redis, así que op:6 sobrevive a los reinicios de las tareas de la API | |
| Sharding | Sí | Sí | Hash estándar (guild_id >> 22) % num_shards | |
| REST | CRUD de mensajes | Sí | Sí | Enviar, editar, eliminar, eliminar en bloque, obtener, fijar, indicador de escritura, reacciones, archivos adjuntos, encuestas |
| CRUD de canales | Sí | Sí | Nube: reordenación y escritura de excepciones de rol (PUT y DELETE); los objetos de canal aún no listan las excepciones. Autoalojado: reordenación sí, excepciones de rol sí (sin excepciones de miembro), listadas en los objetos de canal | |
| Excepciones de permisos por canal | Parcial | Parcial | Solo excepciones de rol (grupo), sin excepciones de miembro. Escribirlas (PUT, DELETE) funciona en la nube y en autoalojado. Leerlas (permission_overwrites en los objetos de canal y CHANNEL_UPDATE) es, por ahora, exclusivo del autoalojado; los objetos de canal en la nube no incluyen el campo. En autoalojado, un permiso concedido nunca otorga más de lo que el propio grupo tiene permitido | |
| Miembros / roles / baneos | Sí | Sí | CRUD completo; communication_disabled_until (timeout) no está admitido | |
| Webhooks (canal y app) | Sí | Sí | CRUD completo + ejecución (embeds, adjuntos, multipart). En servidores autoalojados, los registros permanecen en el almacenamiento en la nube y los mensajes enviados al ejecutar el webhook se escriben en el canal autoalojado | |
| Emojis propios de la app | Solo portal | Solo portal | Se gestionan en el portal de desarrolladores; GET en la API de bots funciona. Consulta Emojis | |
| Registro de auditoría | Parcial | Parcial | Entradas relevantes para bots; el historial de excepciones por canal no se indexa | |
| Cabeceras de límite de tasa | Sí | Sí | X-RateLimit-* en cada respuesta, según el bucket | |
| Interacciones | Comandos de aplicación (barra, usuario, mensaje) | Sí | Sí | PUT en bloque + CRUD individual. Los comandos se registran en la nube para ambos tipos de servidor; las invocaciones en servidores autoalojados se enrutan a través de la nube |
| Botones, selectores de texto, modales (Componentes v1) | Sí | Sí | También respuestas efímeras. Solo en canales de servidor, no en MD. Consulta Componentes de mensaje | |
| Selectores de usuario, rol, mencionable y canal | Parcial | Parcial | Se aceptan y se guardan; los clientes los muestran desactivados, así que nunca producen una interacción | |
| Componentes v2 | No | No | No admitido; los componentes de diseño de v2 no se renderizan | |
| Interacciones en modo HTTP (endpoint saliente) | Parcial | Parcial | Se envían por POST a tu interactions_endpoint_url con firma Ed25519, recurriendo al gateway si el endpoint falla. Requiere una sesión de gateway conectada, y el cuerpo de la respuesta se ignora: responde a través del endpoint de callback. Consulta OAuth2 | |
| Voz | Gateway de voz por UDP | Sí | Sí | Por región. Consulta la documentación de voz |
| AEAD AES-256-GCM | Sí | Sí | Preferido | |
| AEAD XChaCha20-Poly1305 | Sí | Sí | Alternativa | |
| Cambio del estado de voz desde el bot | Sí | Parcial | Ambos: PATCH .../voice-states/{user_id} para silenciar / mover / desconectar. El autoalojado también acepta deaf, en cualquier combinación con un movimiento; un movimiento dispara dos eventos en lugar de uno | |
| Otros | Emojis de servidor (lectura) | Sí | Sí | Listar + obtener; crear/modificar/eliminar solo por el portal |
| Soundboard (lectura) | Sí | Sí | Listar + obtener; la reproducción desde el bot no está admitida | |
| URL personalizada | Parcial | No | Nube: leer + modificar (servidores Gold o superior). Autoalojado: el PATCH devuelve 501 | |
| Hilos / publicaciones de foro | Parcial | Parcial | Publicaciones de foro: iniciar una (POST /channels/{forum}/threads), leerla y responder en ella. Los demás endpoints de hilos (archivado, miembros del hilo, hilos activos) no están admitidos | |
| Eventos programados | Sí | Parcial | CRUD y RSVP, asignados a los eventos de servidor de GameVox. Sin eventos de gateway GUILD_SCHEDULED_EVENT_*. Autoalojado: los eventos recurrentes se guardan, pero no se generan las siguientes ocurrencias | |
| Canales de escenario, AutoMod | No | No | Los intents se aceptan, sin eventos | |
| Apps premium / entitlements | No | No | Sin capa de monetización en v1 | |
| Portal | Equipos (propiedad compartida) | Sí | Paridad con Discord. Consulta Equipos | |
| Transferencia de app a un equipo | Sí | En un solo sentido (igual que Discord) | ||
| Testers de la app (allowlist para instalar apps privadas) | Sí | 100 por app. Consulta Equipos → Testers | ||
| URLs de instalación OAuth2 (contexto de usuario y de servidor) | Sí | Ninguna / proporcionada por GameVox / URL personalizada. Consulta OAuth2 | ||
| Rotación del secreto de cliente | Sí | Con hash bcrypt; se muestra una vez al crear o rotar | ||
| Ficha en el directorio de bots | Sí | Fichas aprobadas por la administración en gamevox.com/bots | ||
Leyenda
- Sí: funciona igual que en Discord, sin cambios de código.
- Parcial: compatible a nivel de protocolo, pero falta parte de la semántica. Se puede llamar sin riesgo, aunque puede no generar eventos.
- No: se acepta a nivel de protocolo (no dará 4014), pero no hace nada. Da por hecho que no está.