Estoy tratando de crear múltiples opciones de roles para los comandos de barra. Estoy usando el constructor Slash Command - @discordjs/builders . He probado diferentes formas pero no funciona. Este es mi código:
data: new SlashCommandBuilder() .setName('roles') .setDescription('Choices') .addRoleOption(role => role.setName('role 1').setDescription('Choice 1').setRequired(false) ) .addRoleOption(role => role.setName('role 2').setDescription('Choice 2').setRequired(false) ) .addRoleOption(role => role.setName('role 3').setDescription('Choice 3').setRequired(false) ) .addRoleOption(role => role.setName('role 4').setDescription('Choice 4').setRequired(false) ) .addRoleOption(role => role.setName('role 5').setDescription('Choice 5').setRequired(false) ),Los errores que obtuve al hacer esto:
S[50035]: Invalid Form Body 3.options[0].name[STRING_TYPE_REGEX]: String value did not match validation regex. 3.options[1].name[STRING_TYPE_REGEX]: String value did not match validation regex. 3.options[2].name[STRING_TYPE_REGEX]: String value did not match validation regex. 3.options[3].name[STRING_TYPE_REGEX]: String value did not match validation regex. 3.options[4].name[STRING_TYPE_REGEX]: String value did not match validation regex. at Q.runRequest (/home/runner/ticket-1/node_modules/@discordjs/rest/dist/index.js:7:581) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Q.queueRequest (/home/runner/ticket-1/node_modules/@discordjs/rest/dist/index.js:5:2942) at async /home/runner/ticket-1/handler/slashCommand.js:35:9 { rawError: { code: 50035, errors: { '3': [Object] }, message: 'Invalid Form Body' }, code: 50035, status: 400, method: 'put', url: 'https://discord.com/api/v9/applications/935368903209672726/guilds/908385923673231481/commands', requestBody: { files: undefined, json: [ [Object], [Object], [Object], [Object] ] } }Por favor ayudame a resolver este problema.
Descubrí el problema ahora: no puede incluir espacio entre los caracteres del nombre de la opción.
Por lo tanto, el código es:
.addRoleOption(role => role.setName('role1').setDescription('Select role').setRequired(false) )Espero que esto ayude a otros si tienen el mismo problema.