1

我为我的机器人创建了一个锁定命令,该命令在一个名为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 是否有权在频道中发送消息以锁定。

4

0 回答 0