@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
23 lines (21 loc) • 1.14 kB
JavaScript
;
const require_lib_errors_Identifiers = require('../errors/Identifiers.cjs');
let __sapphire_result = require("@sapphire/result");
let __sapphire_discord_utilities = require("@sapphire/discord-utilities");
//#region src/lib/resolvers/guildChannel.ts
function resolveGuildChannel(parameter, guild) {
const channel = resolveById(parameter, guild) ?? resolveByQuery(parameter, guild);
if (channel) return __sapphire_result.Result.ok(channel);
return __sapphire_result.Result.err(require_lib_errors_Identifiers.Identifiers.ArgumentGuildChannelError);
}
function resolveById(argument, guild) {
const channelId = __sapphire_discord_utilities.ChannelMentionRegex.exec(argument) ?? __sapphire_discord_utilities.SnowflakeRegex.exec(argument);
return channelId ? guild.channels.cache.get(channelId[1]) ?? null : null;
}
function resolveByQuery(argument, guild) {
const lowerCaseArgument = argument.toLowerCase();
return guild.channels.cache.find((channel) => channel.name.toLowerCase() === lowerCaseArgument) ?? null;
}
//#endregion
exports.resolveGuildChannel = resolveGuildChannel;
//# sourceMappingURL=guildChannel.cjs.map