openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
57 lines (56 loc) • 1.87 kB
JavaScript
import { c as normalizeOptionalString } from "./string-coerce-mnp54Vah.js";
import "./string-coerce-runtime-CEGJWkQ_.js";
//#region extensions/telegram/src/audit.ts
function collectTelegramUnmentionedGroupIds(groups) {
if (!groups || typeof groups !== "object") return {
groupIds: [],
unresolvedGroups: 0,
hasWildcardUnmentionedGroups: false
};
const hasWildcardUnmentionedGroups = groups["*"]?.requireMention === false && groups["*"]?.enabled !== false;
const groupIds = [];
let unresolvedGroups = 0;
for (const [key, value] of Object.entries(groups)) {
if (key === "*") continue;
if (!value || typeof value !== "object") continue;
if (value.enabled === false) continue;
if (value.requireMention !== false) continue;
const id = normalizeOptionalString(key) ?? "";
if (!id) continue;
if (/^-?\d+$/.test(id)) groupIds.push(id);
else unresolvedGroups += 1;
}
groupIds.sort((a, b) => a.localeCompare(b));
return {
groupIds,
unresolvedGroups,
hasWildcardUnmentionedGroups
};
}
let auditMembershipRuntimePromise = null;
function loadAuditMembershipRuntime() {
auditMembershipRuntimePromise ??= import("./audit-membership-runtime-D8WAQ1Z4.js");
return auditMembershipRuntimePromise;
}
async function auditTelegramGroupMembership(params) {
const started = Date.now();
const token = normalizeOptionalString(params.token) ?? "";
if (!token || params.groupIds.length === 0) return {
ok: true,
checkedGroups: 0,
unresolvedGroups: 0,
hasWildcardUnmentionedGroups: false,
groups: [],
elapsedMs: Date.now() - started
};
const { auditTelegramGroupMembershipImpl } = await loadAuditMembershipRuntime();
return {
...await auditTelegramGroupMembershipImpl({
...params,
token
}),
elapsedMs: Date.now() - started
};
}
//#endregion
export { collectTelegramUnmentionedGroupIds as n, auditTelegramGroupMembership as t };