discord.js - 为什么这个静音功能会显示所有隐藏的通道?
问题描述
message.guild.channels.cache.forEach((channel) => {
channel.overwritePermissions([
{
id: muteRole.id,
deny: ['SEND_MESSAGES', 'CONNECT', 'ADD_REACTIONS'],
},
], 'Mute role permissions');
});
这会显示所有隐藏的频道并重置所有频道中的所有权限。
解决方案
问题是,overwritePermissions()
就像它说的覆盖每个权限一样,您可以updateOverwrite()
改用
https://discord.js.org/#/docs/main/stable/class/TextChannel?scrollTo=updateOverwrite
message.channel.updateOverwrite(muteRole.id, {
SEND_MESSAGES: false
})
.then(console.log)
.catch(console.error);
推荐阅读
- python - SSL:CERTIFICATE_VERIFY_FAILED 证书验证在 AWS lambda 中的 Python 中失败
- php - PHP循环数据库查询直到值改变
- flutter - 添加 Hive 字段后 build_runner 的问题
- docker - github 操作:在同一个 docker 中运行多个作业
- python - Concat 读取 Excel Pandas
- php - 无法从 Windows 浏览器访问 wsl 上的 nginx 站点
- html - 导航栏链接的悬停框问题
- wordpress - Wordpress 更改 url - 将参数添加到 url 的开头
- flutter - Flutter 创建垂直日历
- django - django 将搜索词从帖子字段传递到 URL