mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-19 05:50:47 +00:00
* refactor: remove channel shim directories, point all imports to extensions
Delete the 6 backward-compat shim directories (src/telegram, src/discord,
src/slack, src/signal, src/imessage, src/web) that were re-exporting from
extensions. Update all 112+ source files to import directly from
extensions/{channel}/src/ instead of through the shims.
Also:
- Move src/channels/telegram/ (allow-from, api) to extensions/telegram/src/
- Fix outbound adapters to use resolveOutboundSendDep (fixes 5 pre-existing TS errors)
- Update cross-extension imports (src/web/media.js → extensions/whatsapp/src/media.js)
- Update vitest, tsdown, knip, labeler, and script configs for new paths
- Update guard test allowlists for extension paths
After this, src/ has zero channel-specific implementation code — only the
generic plugin framework remains.
* fix: update raw-fetch guard allowlist line numbers after shim removal
* refactor: document direct extension channel imports
* test: mock transcript module in delivery helpers
25 lines
728 B
TypeScript
25 lines
728 B
TypeScript
export async function fetchTelegramChatId(params: {
|
|
token: string;
|
|
chatId: string;
|
|
signal?: AbortSignal;
|
|
}): Promise<string | null> {
|
|
const url = `https://api.telegram.org/bot${params.token}/getChat?chat_id=${encodeURIComponent(params.chatId)}`;
|
|
try {
|
|
const res = await fetch(url, params.signal ? { signal: params.signal } : undefined);
|
|
if (!res.ok) {
|
|
return null;
|
|
}
|
|
const data = (await res.json().catch(() => null)) as {
|
|
ok?: boolean;
|
|
result?: { id?: number | string };
|
|
} | null;
|
|
const id = data?.ok ? data?.result?.id : undefined;
|
|
if (typeof id === "number" || typeof id === "string") {
|
|
return String(id);
|
|
}
|
|
return null;
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|