让我指定的角色使用命令

时间:2020-01-07 13:55:34

标签: command discord.js

我为Minecraft制作了Discord机器人,但我有命令“satışilanı”,我希望该命令仅使用具有指定角色的人员,但没有人可以帮助我吗?

const Discord = require('discord.js');
const moment = require('moment');

const cooldown = new Set();
exports.run = async(client, message, ops) => {
    let args = message.content.split(' ').slice(1).join(' ');
    message.delete();
    if (cooldown.has(message.author.id && message.guild.id)) {
        return message.channel.send('**:x: [YAVAŞLA] :x:** Çok hızlı ilan gönderiyorsun! **5 Dakika** beklemelisin!');
    }
    if (args.length < 1) {
        return message.channel.send(`**İlan detaylarını iletmelisin!** ${message.author}`);
    }
    if (message.member.roles.some(role => role.name === 'Whatever')) {
        return message.channel.send(`**Ticaretçi rolüne sahip olman gerekiyor!**`);
    }   
    cooldown.add(message.author.id && message.guild.id);
    setTimeout(() => {
        cooldown.delete(message.author.id && message.guild.id);
    }, 300000);
    let guild = message.guild;
    const cnl = client.channels.get('613397862545358888');
    message.channel.send(`**Hey, ${message.author}, biz satış ilanını yayınladık! :white_check_mark:`);
    const embed2 = new Discord.RichEmbed()
        .setAuthor(`MuzGO Pazar ${message.author.tag} tarafından kullanıldı!`, message.author.displayAvatarURL)
        .addField('**MuzGO Satış İlanı :pencil: **', `**İlanı Gönderen: :speaking_head: ** ${message.author.tag}`,`İlanın Gönderildiği Kanal` , '#『?』satılık-ürünler')
        .setThumbnail(message.author.displayAvatarURL)
        .setFooter(`${moment().format('MMMM Do YYYY, h:mm:ss a')}`)
        .setColor("#ffd700");
};

这可能是我无法理解的错误。

if (message.member.roles.some(role => role.name === 'Whatever')) {
            return message.channel.send(`**Ticaretçi rolüne sahip olman gerekiyor!**`);
        }   

1 个答案:

答案 0 :(得分:1)

message.member.roles.some(role => role.name === 'Whatever')

如果成员具有角色,则返回布尔值true;如果没有成员,则返回布尔值false。因此,要在成员不具有该角色的情况下发送消息,您必须添加!来逆转条件:

if (!message.member.roles.some(role => role.name === 'Whatever')) {
        // if the condition above is false, so the member doesn't have the role
        return message.channel.send(`**Ticaretçi rolüne sahip olman gerekiyor!**`);
}