【发布时间】:2021-12-22 13:18:12
【问题描述】:
这是权限设置的主要代码。
const run = (client) => __awaiter(void 0, void 0, void 0, function* () {
const commandFiles = glob_1.default.sync(process.cwd() + "/src/commands/**/*{.ts,.js}");
const guild = client.guilds.cache.get(config_json_1.default.guildId);
commandFiles.map(value => {
Promise.resolve().then(() => __importStar(require(value))).then((file) => __awaiter(void 0, void 0, void 0, function* () {
exports.commands.set(file.info.name, file);
const command = yield guild.commands.create(file.info);
if (file.permission == undefined || file.permission == "@everyone")
return;
const json = (file.permission == "admin" ? {
id: config_json_1.default.adminRole,
permission: true,
type: "ROLE"
} : {
id: config_json_1.default.freelancerRole,
permission: true,
type: "ROLE"
});
command.permissions.add({
permissions: [json]
});
}));
});
我已经委托了一个不和谐机器人的开发人员,除了任何人都可以使用任何命令这一事实之外,一切都在工作。他有一个自定义权限系统,使用上述方法设置它。但是,这不起作用。我已经调试了配置角色 id,file.permission 已设置,他很肯定它可以工作。 File.permission 在命令文件中使用exports.permission = "admin"; 设置,defaultpermission 为 true。
【问题讨论】:
-
这段代码显示了权限是如何定义的。您应该编辑您的问题并添加显示在运行命令时如何评估权限的代码部分。
标签: javascript node.js permissions discord discord.js