UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

1 lines 1.96 kB
{"version":3,"sources":["../../../../src/lib/resolvers/role.ts"],"names":[],"mappings":";;;;;AAKA,eAAsB,WAAA,CAAY,WAAmB,KAAoE,EAAA;AACxH,EAAM,MAAA,IAAA,GAAQ,MAAM,WAAY,CAAA,SAAA,EAAW,KAAK,CAAM,IAAA,cAAA,CAAe,WAAW,KAAK,CAAA;AAErF,EAAA,IAAI,IAAM,EAAA;AACT,IAAO,OAAA,MAAA,CAAO,GAAG,IAAI,CAAA;AAAA;AAGtB,EAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,iBAAiB,CAAA;AAChD;AARsB,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AAUtB,eAAe,WAAA,CAAY,UAAkB,KAAoC,EAAA;AAChF,EAAA,MAAM,SAAS,gBAAiB,CAAA,IAAA,CAAK,QAAQ,CAAK,IAAA,cAAA,CAAe,KAAK,QAAQ,CAAA;AAC9E,EAAA,OAAO,SAAS,KAAM,CAAA,KAAA,CAAM,MAAM,MAAO,CAAA,CAAC,CAAc,CAAI,GAAA,IAAA;AAC7D;AAHe,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AAKf,SAAS,cAAA,CAAe,UAAkB,KAA2B,EAAA;AACpE,EAAM,MAAA,iBAAA,GAAoB,SAAS,WAAY,EAAA;AAC/C,EAAO,OAAA,KAAA,CAAM,KAAM,CAAA,KAAA,CAAM,IAAK,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,IAAK,CAAA,WAAA,EAAkB,KAAA,iBAAiB,CAAK,IAAA,IAAA;AAC3F;AAHS,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA","file":"role.mjs","sourcesContent":["import { RoleMentionRegex, SnowflakeRegex } from '@sapphire/discord-utilities';\nimport { Result } from '@sapphire/result';\nimport type { Guild, Role, Snowflake } from 'discord.js';\nimport { Identifiers } from '../errors/Identifiers';\n\nexport async function resolveRole(parameter: string, guild: Guild): Promise<Result<Role, Identifiers.ArgumentRoleError>> {\n\tconst role = (await resolveById(parameter, guild)) ?? resolveByQuery(parameter, guild);\n\n\tif (role) {\n\t\treturn Result.ok(role);\n\t}\n\n\treturn Result.err(Identifiers.ArgumentRoleError);\n}\n\nasync function resolveById(argument: string, guild: Guild): Promise<Role | null> {\n\tconst roleId = RoleMentionRegex.exec(argument) ?? SnowflakeRegex.exec(argument);\n\treturn roleId ? guild.roles.fetch(roleId[1] as Snowflake) : null;\n}\n\nfunction resolveByQuery(argument: string, guild: Guild): Role | null {\n\tconst lowerCaseArgument = argument.toLowerCase();\n\treturn guild.roles.cache.find((role) => role.name.toLowerCase() === lowerCaseArgument) ?? null;\n}\n"]}