Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Se esperaba que recibiera un constructor SlashCommandChannelOption, pero en su lugar quedó indefinido

Mientras creaba un comando usando Discord.js v13, encontré un error interesante que parece que no puedo resolver.

Si utilizo un sistema de gestión de comandos y creo un comando con un campo de entrada de canal a través de la función Comandos de aplicación que Discord creó no hace mucho para las aplicaciones de desarrollador, me encuentro con el siguiente error cuando ejecuto la aplicación Node.js:

 F:\Development\eco-bot\node_modules\@discordjs\builders\dist\interactions\slashCommands\Assertions.js:44 throw new TypeError(`Expected to receive a ${instanceName} builder, got ${input === null ? 'null' : 'undefined'} instead.`); ^ TypeError: Expected to receive a SlashCommandChannelOption builder, got undefined instead. at Object.assertReturnOfBuilder (F:\Development\eco-bot\node_modules\@discordjs\builders\dist\interactions\slashCommands\Assertions.js:44:15) at MixedClass._sharedAddOptionMethod (F:\Development\eco-bot\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\CommandOptions.js:76:22) at MixedClass.addChannelOption (F:\Development\eco-bot\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\CommandOptions.js:40:21) at Object.<anonymous> (F:\Development\eco-bot\commands\faq.js:7:10) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18)

Antes de que surjan preguntas al respecto, sí, todos los demás comandos se cargan correctamente y se envían a la API de comandos de aplicaciones de Discord y Discord los registra sin errores.

Aquí está el código que produce el problema:

 const { SlashCommandBuilder } = require('@discordjs/builders') module.exports = { data: new SlashCommandBuilder() .setName("faq") .setDescription("Send a FAQ question and answer in selected channel") .addChannelOption(channel => { channel .setName("channel") .setDescription("Channel you want to send the FAQ embed in") .setRequired(true) }), async execute (interaction) { await interaction.reply("Pong! :ping_pong:") } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Se espera que la función que pasa como argumento al método .addChannelOption() devuelva una instancia de SlashCommandChannelOption , que en su caso es channel . Así que asegúrese de devolver el channel .

ingrese la descripción de la imagen aquí

 const { SlashCommandBuilder } = require('@discordjs/builders') module.exports = { data: new SlashCommandBuilder() .setName("faq") .setDescription("Send a FAQ question and answer in selected channel") .addChannelOption(channel => { return channel // Add return here .setName("channel") .setDescription("Channel you want to send the FAQ embed in") .setRequired(true) }), async execute (interaction) { await interaction.reply("Pong! :ping_pong:") } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Yo cometí el mismo error. En la documentación, omiten las llaves {} para que puedan return implícitamente el cuerpo de la devolución de llamada. Si usa llaves, debe usar return

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda