if (!message.mentions.members.first() && !(args[0])) return message.channel.send(`<@${message.author.id}>: ${insultList[Math.floor(Math.random() * insultList.length)]}`); const user = message.mentions.members.first() || message.guild.members.cache.get(args[0]); if (!user) return message.inlineReply(new Discord.MessageEmbed().setColor("D9B3FF").setTitle("Error").setDescription("User not found.")); message.channel.send(`${user}: ${insultList[Math.floor(Math.random() * insultList.length)]}`); Un comando de !insulto; insultList es una matriz de cadenas. Sin embargo, llamar al comando con ID de usuario (de miembros del gremio) solo funciona ocasionalmente; por lo general, devuelve User not found . Todo lo demás funciona según lo previsto.
user devolverá false si la identificación de args[0] corresponde a un miembro no almacenado en caché.
<@id> ) const insult = insultList[Math.floor(Math.random() * insultList.length)]; if (!message.mentions.members.first() && !(args[0])) return message.channel.send(`${message.author.toString()}: ${insult}`); try { const user = message.mentions.members.first() || (await message.guild.members.fetch(args[0])); if (!user) return message.inlineReply(new Discord.MessageEmbed().setColor("D9B3FF").setTitle("Error").setDescription("User not found.")); message.channel.send(`${user.toString()}: ${insult}`); } catch (err) { console.error(err); } Asegúrese de tener habilitada la intención del miembro del gremio y de hacer que su función principal sea asíncrona para este ejemplo. De lo contrario, resuelva la promesa de .fetch() con devoluciones de llamada.
¿Has probado a mencionar al usuario con su id? así: <@00000000>