我正在尝试创建一个锁定命令,以将“已验证”角色的SEND_MESSAGES权限设置为false。
我的代码目前无法正常工作。我该怎么做呢?许多人说,我似乎无法弄清楚如何使用Channel.overwritePermissions
channel.overwritePermissions(role, { 'SEND_MESSAGES': false })
但是这不起作用,因为不一致的文档有这样的示例:
channel.overwritePermissions([
{
id: message.author.id,
deny: ['VIEW_CHANNEL'],
},
], 'Needed to change permissions');
它对我也不起作用。有人可以帮忙吗?
答案 0 :(得分:1)
我相信您会对两个名称非常相似的方法感到困惑。 Channel.updateOverwrite
,其中:
“为此频道中的用户或角色更新覆盖。(如果不存在则创建)”
然后还有Channel.overwritePermissions
,它是:
替换此通道中的权限覆盖。
这两种方法之间的主要区别是updateOverwrite
仅更改一个角色/成员的覆盖。但是,overwritePermissions
会完全删除所有以前的覆盖,并用指定的内容替换。
如果您只想更改一个角色的设置,则可能正在寻找updateOverwrite
。此方法使用您在第一个示例中显示的格式,因此您只需复制并粘贴该代码即可。
channel.updateOverwrite(role, { SEND_MESSAGES: false });