Estoy tratando de hacer que mi bot discord.js envíe mensajes cuando alguien me hace ping. ¿¿Cómo puedo hacer eso??
Estaba intentando con ese código:
if(message.content === "<@723821826291138611>") { message.channel.send("Hello, sup? ") }
pero eso no funciona. ¿Cómo puedo hacer eso?
La mejor forma, y la más convencional, de hacer esto es verificar la colección MessageMentions#(users|members) .
const { mentions:{ users, repliedUser } } = message; if (users.has("723821826291138611") && !repliedUser) { // Your code }
Esto devolverá verdadero si lo mencionado se encuentra en cualquier orden, no solo primero, es posible que la API emita las menciones en diferentes órdenes si se dieron varias menciones. Tampoco recomendaría buscar la cadena message.content
.
Tienes que usar if(message.content.includes("<@723821826291138611>"))
en lugar de if(message.content === "<@723821826291138611>")
para que funcione.
Pero también puedes usar este código para hacerlo:
let mentioned = message.mentions.members.first(); if(mentioned && mentioned.id == "723821826291138611") { if(message.mentions.repliedUser) return; message.channel.send("YOUR_TEXT") }