@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
30 lines (27 loc) • 1.3 kB
JavaScript
;
var discordUtilities = require('@sapphire/discord-utilities');
var result = require('@sapphire/result');
var Identifiers_cjs = require('../errors/Identifiers.cjs');
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
function resolveGuildChannel(parameter, guild) {
const channel = resolveById(parameter, guild) ?? resolveByQuery(parameter, guild);
if (channel) {
return result.Result.ok(channel);
}
return result.Result.err(Identifiers_cjs.Identifiers.ArgumentGuildChannelError);
}
__name(resolveGuildChannel, "resolveGuildChannel");
function resolveById(argument, guild) {
const channelId = discordUtilities.ChannelMentionRegex.exec(argument) ?? discordUtilities.SnowflakeRegex.exec(argument);
return channelId ? guild.channels.cache.get(channelId[1]) ?? null : null;
}
__name(resolveById, "resolveById");
function resolveByQuery(argument, guild) {
const lowerCaseArgument = argument.toLowerCase();
return guild.channels.cache.find((channel) => channel.name.toLowerCase() === lowerCaseArgument) ?? null;
}
__name(resolveByQuery, "resolveByQuery");
exports.resolveGuildChannel = resolveGuildChannel;
//# sourceMappingURL=guildChannel.cjs.map
//# sourceMappingURL=guildChannel.cjs.map