好的,我试图发出一个宣布命令,使机器人说出用户要求它写的内容,
该命令运行正常,但主要问题是我不希望不是主持人/管理员的用户使用此命令,而我尝试使用if (user.hasPermission("KICK_MEMBERS")
,但是我根本不知道如何在我的代码中实现此命令,在这里)
const Discord = require('discord.js');
module.exports = {
name: 'announce',
description: "announce",
execute(message, args){
const developerEmbed = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle(`failed to send message`)
.setAuthor('♥Aiko♥', 'https://i.imgur.com/1q9zMpX.png')
.setDescription('please mention the channel first(if this promblem persists contact the developer)')
.setTimestamp()
.setFooter(`©Revenge#7005 | Requested by ${message.author.tag}.`);
if(message.mentions.channels.size === 0) {
message.channel.send(developerEmbed);
}
else {
let targetChannel = message.mentions.channels.first();
const args = message.content.split(" ").slice(2);
let userMessage = args.join(" ");
targetChannel.send(userMessage);
message.delete();
}
}
}
是的,有什么主意如何让漫游器检查许可,然后在用户拥有许可的情况下发送消息? 我对编码很陌生,这个机器人是我的第一个更大的项目,对不起,如果这个问题看起来很愚蠢,
答案 0 :(得分:1)
确保使用message.member
代替user
,并且应该在代码的开头实现它。
module.exports = {
name: 'announce',
description: "announce",
execute(message, args) {
if (!message.member.hasPermisson('KICK_MEMBERS')) // if member doesn't have permissions
return message.channel.send('Insufficient Permissions');
// rest of your code...