UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

1 lines 2.21 kB
{"version":3,"sources":["../../../../src/lib/resolvers/guildChannel.ts"],"names":[],"mappings":";;;;;AAMO,SAAS,mBAAA,CAAoB,WAAmB,KAAqF,EAAA;AAC3I,EAAA,MAAM,UAAU,WAAY,CAAA,SAAA,EAAW,KAAK,CAAK,IAAA,cAAA,CAAe,WAAW,KAAK,CAAA;AAEhF,EAAA,IAAI,OAAS,EAAA;AACZ,IAAO,OAAA,MAAA,CAAO,GAAG,OAAO,CAAA;AAAA;AAGzB,EAAO,OAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,yBAAyB,CAAA;AACxD;AARgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAUhB,SAAS,WAAA,CAAY,UAAkB,KAA6C,EAAA;AACnF,EAAA,MAAM,YAAY,mBAAoB,CAAA,IAAA,CAAK,QAAQ,CAAK,IAAA,cAAA,CAAe,KAAK,QAAQ,CAAA;AACpF,EAAO,OAAA,SAAA,GAAc,MAAM,QAAS,CAAA,KAAA,CAAM,IAAI,SAAU,CAAA,CAAC,CAAc,CAAA,IAAgC,IAAQ,GAAA,IAAA;AAChH;AAHS,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AAKT,SAAS,cAAA,CAAe,UAAkB,KAA6C,EAAA;AACtF,EAAM,MAAA,iBAAA,GAAoB,SAAS,WAAY,EAAA;AAC/C,EAAQ,OAAA,KAAA,CAAM,QAAS,CAAA,KAAA,CAAM,IAAK,CAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,IAAK,CAAA,WAAA,EAAkB,KAAA,iBAAiB,CAAgC,IAAA,IAAA;AAChI;AAHS,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA","file":"guildChannel.mjs","sourcesContent":["import { ChannelMentionRegex, SnowflakeRegex } from '@sapphire/discord-utilities';\nimport type { GuildBasedChannelTypes } from '@sapphire/discord.js-utilities';\nimport { Result } from '@sapphire/result';\nimport type { Guild, Snowflake } from 'discord.js';\nimport { Identifiers } from '../errors/Identifiers';\n\nexport function resolveGuildChannel(parameter: string, guild: Guild): Result<GuildBasedChannelTypes, Identifiers.ArgumentGuildChannelError> {\n\tconst channel = resolveById(parameter, guild) ?? resolveByQuery(parameter, guild);\n\n\tif (channel) {\n\t\treturn Result.ok(channel);\n\t}\n\n\treturn Result.err(Identifiers.ArgumentGuildChannelError);\n}\n\nfunction resolveById(argument: string, guild: Guild): GuildBasedChannelTypes | null {\n\tconst channelId = ChannelMentionRegex.exec(argument) ?? SnowflakeRegex.exec(argument);\n\treturn channelId ? ((guild.channels.cache.get(channelId[1] as Snowflake) as GuildBasedChannelTypes) ?? null) : null;\n}\n\nfunction resolveByQuery(argument: string, guild: Guild): GuildBasedChannelTypes | null {\n\tconst lowerCaseArgument = argument.toLowerCase();\n\treturn (guild.channels.cache.find((channel) => channel.name.toLowerCase() === lowerCaseArgument) as GuildBasedChannelTypes) ?? null;\n}\n"]}