Как я могу заставить бота игнорировать другие действия моих ботов? - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу знать, как я могу заставить бота игнорировать другие действия ботов (обновление роли, удалены) и прекратить их регистрировать. Вот мой код:

    let messagechannel = oldMember.guild.channels.find(r => r.name === config.logsChannel);
    if (!messagechannel) return 'Canalul respectiv nu există!'

    if (oldMember.roles.size < newMember.roles.size) {
        const embed = new Discord.RichEmbed()
            .setColor('#383b3d')
            .setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
            .setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
            .addField(`ID`, oldMember.id)
            .setFooter(`${bot.user.tag}`, bot.user.avatarURL)
            .setTimestamp();

        for (const role of newMember.roles.map(x => x.id)) {
            if (!oldMember.roles.has(role)) {
                embed.addField(`Schimbări`, "➕    " +  `${newMember.guild.roles.get(role)}`);
            }
        }
        messagechannel.send(embed);
    }

    if (oldMember.roles.size > newMember.roles.size) {
        const embed = new Discord.RichEmbed()
            .setColor('#383b3d')
            .setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
            .setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
            .addField(`ID`, oldMember.id)
            .setFooter(`${bot.user.tag}`, bot.user.avatarURL)
            .setTimestamp()

        for (const role of oldMember.roles.map(x => x.id)) {
            if (!newMember.roles.has(role)) {
                embed.addField( `Schimbări`, "❌   " + `${oldMember.guild.roles.get(role)}`);
            }
        }
        messagechannel.send(embed);
    }

    if (newMember.nickname != oldMember.nickname) {
        const embed = new Discord.RichEmbed()
            .setColor('#383b3d')
            .setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
            .setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
            .addField(`ID`, oldMember.id)
            .addField(`Numele vechi`, `${oldMember.displayName}`)
            .addField(`Numele nou`, `${newMember.displayName}`)
            .setFooter(`${bot.user.tag}`, bot.user.avatarURL)
            .setTimestamp()

        messagechannel.send(embed);
    }
});

Может кто-нибудь мне помочь? Я не очень разбираюсь в этих вещах, поэтому небольшой код может пригодиться.

1 Ответ

0 голосов
/ 18 апреля 2020

Существует простой способ архивировать это с небольшими изменениями в существующем коде.
Свойство User GuildMember (newMember / oldMember) имеет свойство bot
, которое возвращает логическое значение, если этот пользователь - пользователь бота или нет.

Так что вы можете сделать это на if (oldMember.user.bot || newMember.user.bot) return
в самом верху кода, который вы только что отправили. Более подробную информацию о bot недвижимости вы можете найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...