如何创建discord.js锁定命令

时间:2020-05-26 19:07:22

标签: javascript locking discord discord.js unlock

我正在尝试为discord.js机器人创建一个锁定和解锁命令。我将如何做到这一点?

我想这样做,所以当我>锁定时,它会从“已验证”权限转移到SEND_MESSAGES

然后,如果我>解锁,它将解锁频道。

2 个答案:

答案 0 :(得分:1)

我猜你需要这个

const role2 = message.guild.roles.cache.find(role => role.name === 'Member') 
message.channel.updateOverwrite(role2,{ 'SEND_MESSAGES': false}) 
message.channel.send("Successfully locked **${message.channel.name}**")

这是为了解锁

const role = message.guild.roles.cache.find(role => role.name === 'Member') 
message.channel.updateOverwrite(role,{ 'SEND_MESSAGES': true})   
message.channel.send("Successfully unlocked **${message.channel.name}**")

答案 1 :(得分:0)

在您的函数中,只需调用以下行以删除权限,

const role = guild.roles.find("name", "Verified ");

role.permissions.remove('SEND_MESSAGES')

并把它们还给我们,只需在命令下放置以下几行:

const role = guild.roles.find("name", "Verified ");

role.permissions.add('SEND_MESSAGES')

如果您想了解为什么它会起作用,请参见以下一些相关文档链接:rolepermissionspermissions flags

编辑: 要更改特定频道的权限,只需执行以下操作:

const role = guild.roles.find("name", "Verified ");

message.channel.overwritePermissions(role,{ 'SEND_MESSAGES': false })

并将其还给您,您可以执行以下操作

const role = guild.roles.find("name", "Verified ");

message.channel.overwritePermissions(role,{ 'SEND_MESSAGES': true})