Escribir un manejador de comando no hace que el comando exista. Hay que avisar a Discord del comando por separado, y dónde lo registres decide cuánto tarda en salir.
Registro por servidor o global
| Por servidor | Global | |
|---|---|---|
| Aparece en | Un servidor | Todos los servidores del bot |
| Tarda | Al instante | Hasta una hora |
| Bueno para | Desarrollo y pruebas | El comando terminado |
Qué hacer
- Registra en un solo servidor mientras desarrollas
Que se actualice al instante te deja iterar sin esperas. Apúntalo a tu propio servidor de pruebas.
- Pasa a global cuando esté listo
Y espera. El retraso está del lado de Discord y nada de lo que hagas lo acelera.
- Comprueba que invitaste al bot con
applications.commandsUn enlace de invitación sin ese ámbito produce un bot que entra bien y no puede tener comandos de barra nunca. Reinvitarlo con el ámbito correcto lo arregla sin sacarlo del servidor.
- Reinicia tu cliente de Discord
El cliente cachea la lista de comandos.
Ctrl+Rla refresca, y esto solo explica una parte sorprendente de los «no está».
El registro tiene límite de peticiones. Un bot en bucle de caída que se registra una y otra vez acaba limitado, y entonces los comandos dejan de actualizarse por motivos que no tienen nada que ver con tu código. Registra cuando cambien, no cuando arranque el proceso.
Borrar el manejador deja el comando visible y roto. Tienes que sobrescribir el conjunto registrado con uno que ya no lo incluya.
Escribir / en el servidor muestra tu comando con su descripción, y al ejecutarlo responde.