我为我的机器人创建了一个锁定命令,该命令在一个名为discord.js-commando的框架上运行。此命令通过不让用户发送消息来锁定频道。错误在 line if(perms.deny.has('SEND_MESSAGES')
。错误是Cannot read property 'deny' of undefined
。
- 我的代码
async run(msg, args){
// For Text Channel
if(args.channel.type === 'text'){
const perms = args.channel.permissionOverwrites.get(msg.guild.id);
if(perms.deny.has(`SEND_MESSAGES`)){
return msg.reply(
new MessageEmbed()
.setDescription(`⚠️ | Channel is already locked`)
.setColor('BLUE')
)
} else {
args.channel.updateOverwrite(msg.guild.roles.everyone, {
SEND_MESSAGES: false
}).catch(err => {
return msg.channel.send(new MessageEmbed()
.setDescription(`<:xmarkxl:870951478913806396> | Failed to lock channel, \`${err}\``)
.setColor('RED')
)
})
await msg.channel.send(
new MessageEmbed()
.setDescription(`<:checkmarkxl:870951478829936710> | Successfully Locked <#${args.channel.id}>`)
.setColor("GREEN")
)
}
}
我想知道是否有一种简单的方法来检查@everyone 是否有权在频道中发送消息以锁定。