Siguiendo esto; https://discordjs.guide/creating-your-bot/creating-commands.html#command-deployment-script
Estoy tratando de ejecutar node deploy-commands.js para registrar mis comandos en un solo gremio y recibo el siguiente error.
C:\Users\\\\hello-world-discord-bot>node deploy-commands.js DiscordAPIError[50001]: Missing Access at SequentialHandler.runRequest (C:\\\\\hello-world-discord-bot\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.js:198:23) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async SequentialHandler.queueRequest (C:\\\\\hello-world-discord-bot\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.js:99:20) at async C:\\\\\hello-world-discord-bot\deploy-commands.js:17:3 { rawError: { message: 'Missing Access', code: 50001 }, code: 50001, status: 403, method: 'put', url: 'https://discord.com/api/v9/applications/877359061669118003/guilds/447125601757691915/commands' } Intenté eliminar el bot y volver a otorgarle permisos a través de la consola web del desarrollador antes de volver a agregarlo. Revisé y volví a agregar el token clientId y guildId y recibo el mismo mensaje de error cada vez. Puedo ver que no está obteniendo acceso, pero no tengo idea de dónde más se otorgaría el acceso.
Mi deploy-commands.js se ve así:
{ "clientId": "123456789012345678", "guildId": "876543210987654321", "token": "my-token-goes-here" }¿Se ha asegurado de que el alcance de 'aplicaciones.comandos' esté marcado en la sección de alcances de la configuración de OAuth2 para su bot en el portal para desarrolladores de Discord?
La respuesta de jh316 funciona con el contexto adicional, para nosotros los novatos, que marcar esa casilla también requiere copiar la URL, pegarla en un navegador para que pueda acceder a la página de autenticación donde puede elegir el servidor de Discord al que se aplicará la autorización. .y luego haga clic en 'Autorizar' para completar la autorización. Luego, ejecutar el script deployment-commands.js se ejecutará correctamente.
Aunque había verificado 'aplicaciones.comandos' , todavía no funcionaría para mí.
La solución fue bastante simple, había copiado la identificación de un canal de texto cuando debería haber copiado la identificación del servidor .