openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
31 lines (30 loc) • 1.74 kB
JavaScript
import { n as normalizeAccountId } from "./account-id-CETVCrTz.js";
import { d as mapAllowFromEntries } from "./channel-config-helpers-Djn-Fycf.js";
import "./account-core-DA6N6mo1.js";
import { r as resolveDefaultTelegramAccountSelection } from "./account-selection-7UzZ8VU5.js";
import { i as createResolvedDirectoryEntriesLister } from "./directory-config-helpers-CDum1wxE.js";
import { t as mergeTelegramAccountConfig } from "./account-config-B05_z8M7.js";
//#region extensions/telegram/src/directory-config.ts
function resolveTelegramDirectoryAccount(cfg, accountId) {
const resolvedAccountId = accountId?.trim() ? normalizeAccountId(accountId) : resolveDefaultTelegramAccountSelection(cfg).accountId;
return { config: mergeTelegramAccountConfig(cfg, resolvedAccountId) };
}
const listTelegramDirectoryPeersFromConfig = createResolvedDirectoryEntriesLister({
kind: "user",
resolveAccount: (cfg, accountId) => resolveTelegramDirectoryAccount(cfg, accountId),
resolveSources: (account) => [mapAllowFromEntries(account.config.allowFrom), Object.keys(account.config.dms ?? {})],
normalizeId: (entry) => {
const trimmed = entry.replace(/^(telegram|tg):/i, "").trim();
if (!trimmed) return null;
if (/^-?\d+$/.test(trimmed)) return trimmed;
return trimmed.startsWith("@") ? trimmed : `@${trimmed}`;
}
});
const listTelegramDirectoryGroupsFromConfig = createResolvedDirectoryEntriesLister({
kind: "group",
resolveAccount: (cfg, accountId) => resolveTelegramDirectoryAccount(cfg, accountId),
resolveSources: (account) => [Object.keys(account.config.groups ?? {})],
normalizeId: (entry) => entry.trim() || null
});
//#endregion
export { listTelegramDirectoryPeersFromConfig as n, listTelegramDirectoryGroupsFromConfig as t };