研究Discord机器人踢+禁止烫发;每次都会返回错误

时间:2020-05-23 17:51:24

标签: javascript discord discord.js

我正在努力禁止和踢烫发。我需要知道如何做到这一点,以便只有此管理员角色才能禁止他们。我希望它使用if语句检查他们是否具有角色,如果这样做,它将与代码一起显示;否则,它将显示:“您无权执行此操作。”

// ban
bot.on('message', message => {

    let args = message.content.substring(config.prefix.length).split(" ");

    switch (args[0]) {
        case 'ban':
            if (!args[1]) message.channel.send("No person included.")

            const user = message.mentions.users.first();

            if (user) {
                const member = message.guild.member(user);

                if (member) {
                    member.ban({ ression: 'I don\'t make the rules.' }).then(() => {
                        message.reply(`I just banned @${user.tag}.`)
                    })
                } else {
                    message.reply("That user isn\`t in this server!");
                }
            }
            break;
    }
})

我的踢脚代码:


bot.on('message', message => {

    let args = message.content.substring(config.prefix.length).split(" ");

    switch (args[0]) {
        case 'kick':
            if (!args[1]) message.channel.send("No person included.")

            const user = message.mentions.users.first();

            if (user) {
                const member = message.guild.member(user);

                if (member) {
                    member.kick('You were kicked.').then(() => {
                        message.reply(`Sucessfully kicked @${user.tag}.`);
                    }).catch(err => {
                        message.reply(`I can\'t kick the member. (perms?)`);
                        console.log(err);
                    });
                } else {
                    message.reply("That user isn\`t in this server!");
                }
            }
            break;
    }
})

我的管理员角色号码:713787463331741726

1 个答案:

答案 0 :(得分:0)

您可以通过检查角色ID来检查作者是否具有某个角色。 例如:

if(!message.member.roles.cache.has('insert_ID_of_the_AdminRole')) return message.channel.send(`You can't use this command`)

编辑:(对于discord.js v12)