javascript - 锁定命令不锁定频道?
问题描述
因此,这是一个锁定命令,该命令可以正常工作,没有错误,但是一旦我这样做了!lockdown,我就会收到消息说它已锁定,但如果有人可以提供帮助,人们仍然可以输入
我的代码:
const Discord = require("discord.js");
const ms = require("ms")
module.exports.run = async (client, message, args) => {
if(!client.lockit) client.lockit = [];
let time = args.join(' ');
let validUnlocks = ['relase', 'unlock'];
if(!time) return message.channel.send('You must set a duration for the lockdown!')
if(validUnlocks.includes(time)) {
message.channel.overwritePermissions(message.guild.id, {
SEND_MESSAGES: false
}).then(() => {
message.channel.sendMessage('Lockdown has been lifted!');
clearTimeout(client.lockit[message.channel.id]);
delete client.lockit[message.channel.id];
}).catch(error => {
console.log(error);
});
} else {
message.channel.overwritePermissions(message.guild.id, {
SEND_MESSAGES: false
}).then(() => {
message.channel.sendMessage(`Channel Locked for ${ms(ms(time), { long:true})}`).then(() => {
client.lockit[message.channel.id] = setTimeout(() => {
message.channel.overwritePermissions(message.guild.id, {
SEND_MESSAGES: false
}).then(message.channel.sendMessage('Lockdown Lifted')).catch(console.error);
delete client.lockit[message.channel.id];
}, ms(time));
}).catch(error => {
console.log(error)
})
})
}
}
module.exports.help = {
name: "lockdown",
description: "Lock a channel",
usage: "lockdown <duration>",
accessableby: "Moderators",
}
解决方案
似乎您对该@everyone
角色的代码更改权限。
如果您有另一个角色,具有更高的层次结构,并且有权限SEND_MESSAGES
,他们仍然可以在该频道中输入。这可能是答案,但因为我不知道你的服务器的结构。我不能肯定地说。
推荐阅读
- ios - 为什么我使用 AFNetworking 获得“内容长度”,而使用 Alamofire 却没有?
- javascript - 在javascript中循环动态对象
- wordpress - 即使没有服务器问题,Google 也不会将我的网站 b/c 索引为 500 错误
- spring-integration - 在 spring 集成之外使用 spring 集成 lockregistry
- swift - 编辑 macOS 应用程序“关于”面板
- javascript - 如何使用 JWT 刷新令牌生成新的访问令牌
- powerbi - 如何从 Power BI 桌面中的度量中获取平均值
- javascript - 如何使用uploadcare上传多个文件
- javascript - array.push 是否深度复制?
- c - 输出 3x3 块“#”时遇到问题