让我指定的角色使用命令
Posted
技术标签:
【中文标题】让我指定的角色使用命令【英文标题】:Let the roles I specify use the command 【发布时间】:2020-04-25 01:02:51 【问题描述】:我为我的世界制作了我的 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】: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!**`);
【讨论】:
没问题!您可以通过将我的答案标记为正确来将主题设置为已回答 为什么不在some
方法中反转相等检查?
因为这意味着如果你有其他角色而不是“随便”,它就行不通。但是,您可以反转相等检查,但将 some
替换为 every
。喜欢:if (message.member.roles.every(role => role.name !== 'Whatever'))
以上是关于让我指定的角色使用命令的主要内容,如果未能解决你的问题,请参考以下文章
Discord Py - 如何使用文本命令向公会的所有成员添加多个角色