如何创建 discord.js 锁定命令
How to create a discord.js lock command
我正在尝试为我的 discord.js 机器人创建锁定和解锁命令。我怎样才能做到这一点?
我想做到这一点,所以当我 >lock 时,它会将已验证的权限从 SEND_MESSAGES
移走。
然后如果我 >unlock,它会解锁频道。
在您的函数中,您只需调用以下几行即可删除权限,
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, and the 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})
我猜你需要这个
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}**")
我正在尝试为我的 discord.js 机器人创建锁定和解锁命令。我怎样才能做到这一点?
我想做到这一点,所以当我 >lock 时,它会将已验证的权限从 SEND_MESSAGES
移走。
然后如果我 >unlock,它会解锁频道。
在您的函数中,您只需调用以下几行即可删除权限,
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, and the 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})
我猜你需要这个
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}**")