Discord. js v12 Команда Love Affinity - нельзя упоминать себя - PullRequest
0 голосов
/ 18 июня 2020

поэтому у меня возникают проблемы, когда я использую команду $love @me, она по-прежнему «вычисляет» процент, я хочу, чтобы он возвращался с сообщением типа «Вы не можете проверить свой процент любви ...», Как я мог это сделать ? Также возможно, если вы используете команду несколько раз, она все равно выводит то же число между членами, например: $love @myfriend, выводит 74%. затем я снова пишу команду, и она набирает тот же процент ...

Вот мой код:

client.on("message", message => {
    if (message.content.startsWith(prefix + "love")) {
        if(!message.mentions.members.first()) return message.channel.send(`Please mention someone to calculate the love percentage`).then(message.react('❌'));
        let args = message.content.slice(prefix.length).split(/ +/)
        let person = message.mentions.members.first(message, args[0]);

        const love = Math.round(Math.random() * 100);
        const loveIndex = Math.floor(love / 10);
        const loveLevel = "?".repeat(loveIndex) + "?".repeat(10 - loveIndex);
        
        let loveEmbed = new Discord.MessageEmbed()
        .setTitle("Love percentage")
        .setDescription(`${message.author} loves ${person} this much: ${love}%\n\n${loveLevel}`)
        message.channel.send(loveEmbed)
    }
})

Надеюсь, кто-то сможет помочь, спасибо!

1 Ответ

0 голосов
/ 18 июня 2020

Просто добавьте оператор if и проверьте идентификаторы

if(person.id === msg.author.id) return msg.channel.send("Can't mention yourself");

Итак:

let args = message.content.slice(prefix.length).split(/ +/)
let person = message.mentions.members.first(message, args[0]);
if(person.id === msg.author.id) return msg.channel.send("Can't mention yourself");

Также несколько несвязанный, но параметры здесь бесполезны:

message.mentions.members.first(message, args[0]);

Единственным аргументом является сумма, поэтому передача сообщения и args [0] не влияет. Если вы не использовали библиотеку с классом коллекции

...