UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

35 lines (34 loc) 1.41 kB
import { t as normalizeDiscordToken } from "./token-ByxvVRHv.js"; import { n as fetchDiscord } from "./api-IrbNzRWx.js"; import { a as normalizeDiscordSlug } from "./allow-list-CBhA2l4a.js"; //#region extensions/discord/src/guilds.ts async function listGuilds(token, fetcher) { return (await fetchDiscord("/users/@me/guilds", token, fetcher)).filter((guild) => typeof guild.id === "string" && typeof guild.name === "string").map((guild) => ({ id: guild.id, name: guild.name, slug: normalizeDiscordSlug(guild.name) })); } //#endregion //#region extensions/discord/src/resolve-allowlist-common.ts function resolveDiscordAllowlistToken(token) { return normalizeDiscordToken(token, "channels.discord.token"); } function buildDiscordUnresolvedResults(entries, buildResult) { return entries.map((input) => buildResult(input)); } function findDiscordGuildByName(guilds, input) { const slug = normalizeDiscordSlug(input); if (!slug) return; return guilds.find((guild) => guild.slug === slug); } function filterDiscordGuilds(guilds, params) { if (params.guildId) return guilds.filter((guild) => guild.id === params.guildId); if (params.guildName) { const match = findDiscordGuildByName(guilds, params.guildName); return match ? [match] : []; } return guilds; } //#endregion export { listGuilds as i, filterDiscordGuilds as n, resolveDiscordAllowlistToken as r, buildDiscordUnresolvedResults as t };