discord.js - discord.js 为@everyone 锁定一个频道
问题描述
当我尝试从频道上的@everyone 删除 SEND_MESSAGES 权限时,它给了我这个错误: TypeError [INVALID_TYPE]: Supplied overwrites is not an Array or Collection of Permission Overwrites.
而且我不知道该怎么做。这是我的代码:
let channel = message.channel;
let roles = message.guild.roles;
let testRole = roles.fetch('@everyone');
channel.overwritePermissions(
testRole, { 'SEND_MESSAGES': false },
'string'
);
message.channel.send("Successfully locked channel.");
解决方案
没关系,我有一个解决方案:
let role = message.guild.roles.cache.find(r => r.name === "@everyone");
message.channel.overwritePermissions([{
id: role.id,
deny: ["SEND_MESSAGES"]
}]);
推荐阅读
- javascript - 当数据表中的内容发生更改时,React Draggable 冻结
- python - VSCode 没有运行 PyLint(pylint 在终端中运行良好)
- flutter - Navigator.pop 带参数
- ruby-on-rails - 我看不到错误值,但看不到整个 url
- node.js - 我应该如何使用端点 API 查询 Mongo DB?
- html - 为什么我的下拉内容在 Safari 上不起作用?
- javascript - 是否可以对跨域 iframe 进行沙箱处理,然后在单击沙箱时将其删除?
- c# - Dapper OracleMappingType.RefCursor 方向:ParameterDirection.Input 不起作用
- c - 您将如何更改具有缓冲区溢出的全局变量?
- python - 将结果导出到 excel 文件 python BeautifulSoup