【发布时间】:2020-08-12 05:52:00
【问题描述】:
我尝试了无数不同的事情并阅读了多个不同的文档,但总是以某种错误告终。
当lock 命令运行时,我需要它来做这些事情:
- 在
@everyone上查找将Send Messages设置为true的所有频道 - 在这些频道上将
@everyone上的Send Messages更改为false - 向这些渠道发送嵌入消息
当unlock 命令运行时,我需要它来做这些事情:
- 将权限设置回它们在这些频道上的状态(
Send Messages回到true@everyone)
我已经在 Admin 角色上尝试过这个,但它不起作用并且它没有做我上面想做的事情:
if (command === "lock") {
let channel = message.channel;
let roles = message.guild.roles; // collection
const adminRole = message.guild.roles.cache.find(r => r.name === 'Admin');
// overwrites 'SEND_MESSAGES' role, only on this specific channel
channel.overwritePermissions(
adminRole,
{ 'SEND_MESSAGES': false },
// optional 'reason' for permission overwrite
'lockdown'
)
// handle responses / errors
.then(console.log)
.catch(console.log);
}
});
【问题讨论】:
-
你需要展示你的尝试
-
@Syntle 我在“管理员”角色上试过这个:imgur.com/qThri8x 但它不起作用,而且它并没有完全符合我的要求
-
最好通过编辑在问题本身中包含对问题的任何进一步解释。
-
好的,我已经编辑过了
标签: javascript discord.js