diff --git a/commands/ssps/rozvrh.js b/commands/ssps/rozvrh.js index b99ba3e..08d681b 100644 --- a/commands/ssps/rozvrh.js +++ b/commands/ssps/rozvrh.js @@ -19,24 +19,15 @@ module.exports = class rozvrh extends commando.Command { prompt: "Jakou třídu chcete zvolit?", isEmpty(val, msg) { if(val) return false; - if(!client.guilds.resolve(ssps.server)) return true; - console.log("Finding roles"); - return !Object.entries(ssps.roles).find(([id, name]) => - client.guilds.resolve(ssps.server).roles.valueOf().has(id) - ); + return !ssps.getClass(msg.author); }, validate(val, msg) { if(/^[1-4]\.?[ABCKGL]$/i.test(val)) return true; - if(!client.guilds.resolve(ssps.server)) return false; - return Object.entries(ssps.roles).find(([id, name]) => - client.guilds.resolve(ssps.server).roles.valueOf().has(id) - ); + return !!ssps.getClass(msg.author); }, parse(val, msg) { if(val) return val; - return Object.entries(ssps.roles).find(([id, name]) => - client.guilds.resolve(ssps.server).roles.valueOf().has(id) - )[1]; + return ssps.getClass(msg.author); } }] }); diff --git a/utils/ssps-server.js b/utils/ssps-server.js index 899716d..436bd22 100644 --- a/utils/ssps-server.js +++ b/utils/ssps-server.js @@ -22,7 +22,22 @@ const roles = { "887339044961406996": "4L" }; +/** + * + * @param {import("discord.js").User} user + */ +function getClass(user) { + if(!user.client.guilds.resolve(server)) return null; + if(!user.client.guilds.resolve(server).member(msg.author)) return null; + return Object.entries(roles).find(([id, name]) => + user.client.guilds.resolve(server).member(msg.author).roles.valueOf().has(id) + ); +} + +const server = "882560404167995443"; + module.exports = { roles, - server: "882560404167995443" + server, + getClass } \ No newline at end of file