diff --git a/src/modules/spink.ts b/src/modules/spink.ts index dc6112d..34bd010 100644 --- a/src/modules/spink.ts +++ b/src/modules/spink.ts @@ -1,6 +1,6 @@ // Modul dedikovaný funkci spinkáček -import { Guild, GuildMember, Message, VoiceState } from "discord.js"; +import { GuildMember, Message, Role, VoiceState } from "discord.js"; import fetch from "node-fetch"; import { emouty } from "../utils/emotes"; import { Spinkackar } from "../utils/types"; @@ -141,14 +141,22 @@ module.exports = { const c = guild.roles.cache; const spinkRole = c.find(r => r.name == "spink"); const adminRole = c.find(r => r.name == "admin"); - const mr = member.roles; + + const make = (akce: "a" | "r", role: Role) => { + const handle = (e: Error) => { + if (e.message == "Missing Permissions") return; + console.log("chyba pri davani/odebirani role", e); + }; + if (akce == "a") member.roles.add(role).catch(handle); + else member.roles.remove(role).catch(handle); + }; if (mes.content[0] == "s") { - if (spinkRole) mr.add(spinkRole); - if (adminRole) mr.remove(adminRole); + if (spinkRole) make("a", spinkRole); + if (adminRole) make("r", adminRole); } else { - if (spinkRole) mr.remove(spinkRole); - if (adminRole) mr.add(adminRole); + if (spinkRole) make("a", spinkRole); + if (adminRole) make("r", adminRole); continue; } for (const [_, channel] of guild.channels.cache) {