Así que estoy haciendo un bot para mí mismo para hacer cosas, y traté de hacer un comando de matar
if (CMD_NAME == "kill") { let target = message.mentions.members.first() message.reply(`${target} is die`) } y llegué a la conclusión de que el bot no sabe qué es message.mentions.members.first() en general, ¿cómo soluciono eso? Además, si necesito mostrar más código, dímelo.
Editar: cómo codifiqué en el prefijo:
if (message.author.bot) return; if (message.content.startsWith(PREFIX)) { const [CMD_NAME, ...args] = message.content .trim() .substring(PREFIX.length) .split (/\/s+/)```Según los comentarios de su pregunta, creo que su problema podría estar en otro lugar.
const PREFIX = "!" let str = "!ab c" const [CMD_NAME, ...args] = str.trim().substring(PREFIX.length).split(/\/s+/) console.log(CMD_NAME) console.log(args)salidas:
abc [] Entonces, parece que su código está poniendo msg completo como "nombre de comando", lo que probablemente hace que falle la verificación de nombre y es por eso que no sucede nada. Cambiar esa expresión regular dividida a /\s+/ para detectar correctamente los espacios en blanco cambia la salida a:
a [ 'b', 'c' ]lo que probablemente solucionaría su problema.