Quiero que al escribir un correo electrónico, al miembro se le asigne un rol en discordia. Pero como no sé cómo hacerlo, probé esto, el problema es que if (message.content === "@"){ solo funciona cuando pongo @ , quiero que incluya @ , no podría No lo hagas con If @ in message.content , ni tampoco con message.content.startswith ni contains
CÓDIGO COMPLETO
const Discord = require("discord.js"); const client = new Discord.Client(); const mySecret = process.env['token'] client.on("ready", () => { console.log("ready"); }); client.on("message", message => { if(message.channel.id === "963510775215968266"){ if(message.author.bot) return; if (message.content === "@"){ message.member.roles.add("963515178174021642"); message.author.send("Gracias por verificarte"); message.delete(); } else{ message.author.send("¿Tienes problemas? Comunicate con un staff."); message.delete(); } } }); client.login(mySecret);si alguien me puede dar una mano se lo agradeceria mucho, llevo horas leyendo diferentes paginas y no encuentro la solucion, o simplemente no se como aplicarla bien
Usa .includes()
const Discord = require("discord.js"); const client = new Discord.Client(); const mySecret = process.env['token'] client.on("ready", () => { console.log("ready"); }); client.on("message", message => { if(message.channel.id === "963510775215968266"){ if(message.author.bot) return; if (message.content.includes("@")){ message.member.roles.add("963515178174021642"); message.author.send("Gracias por verificarte"); message.delete(); } else{ message.author.send("¿Tienes problemas? Comunicate con un staff."); message.delete(); } } }); client.login(mySecret);En Python, puede verificar si una subcadena está presente con el operador in .
En este caso, puede verificar si hay una "@" con:
if "@" in "my.email@example.com": print("String contains the @ character") Sin embargo, esta no es una buena forma de hacerlo, ya que cualquier cadena con una "@" se consideraría un correo electrónico. Una mejor manera de buscar un correo electrónico es usar expresiones regulares o la utilidad integrada parseaddr(address) .
En javascript (como su ejemplo), el método que está buscando es String.prototype.includes() .
Ejemplo:
if ("my.email@example.com".includes("@")) { // your logic here }Pero aquí tenemos el mismo problema explicado anteriormente, y regex es una opción mucho mejor (como ya se respondió aquí )