javascript - discord.js 将频道权限设置为“/”(中性)
问题描述
我希望将文本通道上的用户权限设置为中性/空/“/”,但overwritePermissions()
目前似乎只使用允许和拒绝,我看到的过去帖子显示将值设置为空,但允许/拒绝似乎阻止了这种情况。
我在这样的文本频道上设置权限:
member.guild.channels.cache.array().forEach((channel) => {
channel.overwritePermissions([
{
id: member,
deny: ['VIEW_CHANNEL'],
},
]);
});
并希望有效地撤消此操作,更改 ['VIEW_CHANNEL'] 权限以允许覆盖服务器中的其他权限,并且不适用于我的情况。
解决方案
我相信您正在寻找的是Channel#updateOverwrites()
,除了具有不同的功能之外overwritePermissions()
,还具有不同的格式。
overwritePermissions
覆盖频道中的所有权限(如其名称所示)。所以即使你只想改变一件事,overwritePermissions
也会带来一切。值得庆幸的是,我们也有updateOverwrites
. 此方法只会更改一个成员/角色的权限。
以下是您可以使用它的方法:
// as a note, `forEach()` automatically coverts the collection to an array,
// so no need for the `array()` function
member.guild.channels.cache.forEach((channel) => {
channel.updateOverwrite(member, { // update permissions only for the member
VIEW_CHANNEL: null, // set view_channel to default
});
});
推荐阅读
- visual-studio-2010 - VB - 如何让 datagridview 列自动格式化颜色?
- python - Beautiful Soup 网页抓取复杂的 html 数据
- java - Android Studio 类名自动完成建议为红色
- android - 在 android studio 中使用 Git 进行备份
- google-sheets - Google Drive API 响应:但您的计算机或网络可能正在发送自动查询
- python-3.x - 如何在python中按列连接循环结果
- android - 如何使用 viewPager2 包装内容或更改高度大小的项目?
- reactjs - React Amchart - 如何在加载图表时删除动画
- python - Matplotlib 直方图 y 轴范围
- javascript - 尝试从我的 REST API 进行 Axios 调用时获取“ERPROTO”