Este es el código principal para la configuración de permisos.
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] }); })); }); Encargué un desarrollador para un bot de discordia y todo funciona aparte del hecho de que cualquiera puede usar cualquier comando. Tiene un sistema de permisos personalizado que lo configura con el método anterior. Sin embargo, esto no funciona. He depurado los identificadores de roles de configuración, file.permission está configurado y él está seguro de que funciona. File.permission se establece con exports.permission = "admin"; en un archivo de comandos y el permiso predeterminado es verdadero.
Discord no tiene un permiso llamado admin , ¡debe usar el permiso de ADMINISTRATOR en su lugar!