Estoy tratando de hacer que mi bot de Discord envíe un emoji cuando le digo el nombre. Por ejemplo, supongamos que envío !emoji hola, quiero que el bot devuelva el emoji llamado hola.
Si envío un emoji, el bot lo devolverá, pero no estoy seguro de cómo tomar un emoji de su nombre que se envía al bot.
Uso discord.js v12 como referencia.
Podrías intentar algo como esto
bot.on("messageCreate", (message) => { const exampleEmoji = message.guild.emojis.cache.find(emoji => emoji.name === message.content); channel.message.send(`Is this the emoji you want? ${exampleEmoji}`); });Luego puede anidarlo dentro de su declaración if como lo desee con cualquier comando que esté usando. Esto también debería ser compatible con v12/v13 y creo que las únicas diferencias con las versiones anteriores es si agrega caché o no a la función de búsqueda.
También puede usar la misma función para buscar el emoji como un valor booleano para determinar si el emoji existe o no y, si no, enviar un mensaje diferente para recibir comentarios.
También encontré esta función muy interesante que me ayudó a la hora de descifrar qué emojis tengo y cuáles no están en el alcance que estoy presentando.
if (message.content === "listemojis") { const emojiList = message.guild.emojis.cache.map((e, x) => `${x} = ${e} | ${e.name}`).join("\n"); message.channel.send(emojiList); }Lo que generará esto para cada emoji dentro del alcance que buscó.
450661466287112204 = :image: | nameQue encontré aquí . Espero que esto ayude