我为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!**`);
}
答案 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!**`);
}