Hola Axmyo aquí,
Quiero prohibir automáticamente al usuario si menciona más de 5 humanos, no bots
pero el código que traté de usar no hace nada ...
¡Cualquier ayuda sería apreciada!
client.on("message", message => { if(message.mentions.members.size > 5) { message.author.ban(); } })Está en la dirección correcta, su declaración if es correcta.
message.author devuelve un User .
pero .ban() solo está disponible en GuildMember .
Por lo tanto, debe convertir el User en un GuildMember . Afortunadamente, el objeto del mensaje contiene el Guild en el que se envió, por lo que puede hacer lo siguiente:
client.on("message", message => { if(message.mentions.members.size > 5) { const user = message.author; const guildMember = message.guild.member(user); guildMember.ban(); } }) Tenga en cuenta que .ban() devuelve una promesa, por lo que podría ser una buena idea hacer lo siguiente, si desea hacer cosas adicionales después de la prohibición:
client.on("message", async message => { if(message.mentions.members.size > 5) { const user = message.author; const guildMember = message.guild.member(user); await guildMember.ban(); // Do other things... } })el objeto de mensaje tiene una propiedad de miembro, gracias Itamar S
client.on("message", async message => { if(message.mentions.members.size <= 5) return; await message.member.ban(); // Do other things... })