nex-perms
Version:
Discord botları için modüler sistem: komut yükleyici, veri yöneticisi ve daha fazlası.
35 lines (25 loc) • 832 B
JavaScript
const fs = require('fs');
const yaml = require('yaml');
class PermsManager {
constructor(permissionsPath) {
this.permissionsPath = permissionsPath;
this.permissions = {};
this.loadPermissions();
}
loadPermissions() {
const file = fs.readFileSync(this.permissionsPath, 'utf8');
const data = yaml.parse(file);
this.permissions = data.permissions || {};
}
reload() {
this.loadPermissions();
}
check(member, commandName) {
const allowedRoles = this.permissions[commandName];
if (!allowedRoles) return false;
if (allowedRoles.includes('everyone')) return true;
const memberRoles = member.roles.cache.map(role => role.name);
return allowedRoles.some(roleName => memberRoles.includes(roleName));
}
}
module.exports = PermsManager;