我正在尝试为discord.js机器人创建一个锁定和解锁命令。我将如何做到这一点?
我想这样做,所以当我>锁定时,它会从“已验证”权限转移到SEND_MESSAGES
。
然后,如果我>解锁,它将解锁频道。
答案 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')
如果您想了解为什么它会起作用,请参见以下一些相关文档链接:role,permissions和permissions 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})