mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-12 17:51:22 +00:00
fix(telegram): split runtime and audit types
This commit is contained in:
@@ -5,7 +5,7 @@ import type {
|
||||
AuditTelegramGroupMembershipParams,
|
||||
TelegramGroupMembershipAudit,
|
||||
TelegramGroupMembershipAuditEntry,
|
||||
} from "./audit.js";
|
||||
} from "./audit.types.js";
|
||||
import { resolveTelegramApiBase, resolveTelegramFetch } from "./fetch.js";
|
||||
import { makeProxyFetch } from "./proxy.js";
|
||||
|
||||
|
||||
@@ -1,24 +1,14 @@
|
||||
import type { TelegramGroupConfig } from "openclaw/plugin-sdk/config-runtime";
|
||||
import type { TelegramNetworkConfig } from "openclaw/plugin-sdk/config-runtime";
|
||||
import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
|
||||
|
||||
export type TelegramGroupMembershipAuditEntry = {
|
||||
chatId: string;
|
||||
ok: boolean;
|
||||
status?: string | null;
|
||||
error?: string | null;
|
||||
matchKey?: string;
|
||||
matchSource?: "id";
|
||||
};
|
||||
|
||||
export type TelegramGroupMembershipAudit = {
|
||||
ok: boolean;
|
||||
checkedGroups: number;
|
||||
unresolvedGroups: number;
|
||||
hasWildcardUnmentionedGroups: boolean;
|
||||
groups: TelegramGroupMembershipAuditEntry[];
|
||||
elapsedMs: number;
|
||||
};
|
||||
export type {
|
||||
AuditTelegramGroupMembershipParams,
|
||||
TelegramGroupMembershipAudit,
|
||||
TelegramGroupMembershipAuditEntry,
|
||||
} from "./audit.types.js";
|
||||
import type {
|
||||
AuditTelegramGroupMembershipParams,
|
||||
TelegramGroupMembershipAudit,
|
||||
} from "./audit.types.js";
|
||||
|
||||
export function collectTelegramUnmentionedGroupIds(
|
||||
groups: Record<string, TelegramGroupConfig> | undefined,
|
||||
@@ -61,16 +51,6 @@ export function collectTelegramUnmentionedGroupIds(
|
||||
return { groupIds, unresolvedGroups, hasWildcardUnmentionedGroups };
|
||||
}
|
||||
|
||||
export type AuditTelegramGroupMembershipParams = {
|
||||
token: string;
|
||||
botId: number;
|
||||
groupIds: string[];
|
||||
proxyUrl?: string;
|
||||
network?: TelegramNetworkConfig;
|
||||
apiRoot?: string;
|
||||
timeoutMs: number;
|
||||
};
|
||||
|
||||
let auditMembershipRuntimePromise: Promise<typeof import("./audit-membership-runtime.js")> | null =
|
||||
null;
|
||||
|
||||
|
||||
29
extensions/telegram/src/audit.types.ts
Normal file
29
extensions/telegram/src/audit.types.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import type { TelegramNetworkConfig } from "openclaw/plugin-sdk/config-runtime";
|
||||
|
||||
export type TelegramGroupMembershipAuditEntry = {
|
||||
chatId: string;
|
||||
ok: boolean;
|
||||
status?: string | null;
|
||||
error?: string | null;
|
||||
matchKey?: string;
|
||||
matchSource?: "id";
|
||||
};
|
||||
|
||||
export type TelegramGroupMembershipAudit = {
|
||||
ok: boolean;
|
||||
checkedGroups: number;
|
||||
unresolvedGroups: number;
|
||||
hasWildcardUnmentionedGroups: boolean;
|
||||
groups: TelegramGroupMembershipAuditEntry[];
|
||||
elapsedMs: number;
|
||||
};
|
||||
|
||||
export type AuditTelegramGroupMembershipParams = {
|
||||
token: string;
|
||||
botId: number;
|
||||
groupIds: string[];
|
||||
proxyUrl?: string;
|
||||
network?: TelegramNetworkConfig;
|
||||
apiRoot?: string;
|
||||
timeoutMs: number;
|
||||
};
|
||||
@@ -1,21 +1,6 @@
|
||||
import type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store";
|
||||
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
||||
|
||||
type TelegramChannelRuntime = {
|
||||
probeTelegram?: typeof import("./probe.js").probeTelegram;
|
||||
collectTelegramUnmentionedGroupIds?: typeof import("./audit.js").collectTelegramUnmentionedGroupIds;
|
||||
auditTelegramGroupMembership?: typeof import("./audit.js").auditTelegramGroupMembership;
|
||||
monitorTelegramProvider?: typeof import("./monitor.js").monitorTelegramProvider;
|
||||
sendMessageTelegram?: typeof import("./send.js").sendMessageTelegram;
|
||||
resolveTelegramToken?: typeof import("./token.js").resolveTelegramToken;
|
||||
messageActions?: typeof import("./channel-actions.js").telegramMessageActions;
|
||||
};
|
||||
|
||||
export type TelegramRuntime = PluginRuntime & {
|
||||
channel: PluginRuntime["channel"] & {
|
||||
telegram?: TelegramChannelRuntime;
|
||||
};
|
||||
};
|
||||
export type { TelegramChannelRuntime, TelegramRuntime } from "./runtime.types.js";
|
||||
import type { TelegramRuntime } from "./runtime.types.js";
|
||||
|
||||
const {
|
||||
setRuntime: setTelegramRuntime,
|
||||
|
||||
25
extensions/telegram/src/runtime.types.ts
Normal file
25
extensions/telegram/src/runtime.types.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import type { ChannelMessageActionAdapter } from "openclaw/plugin-sdk/channel-contract";
|
||||
import type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store";
|
||||
|
||||
export type TelegramProbeFn = typeof import("./probe.js").probeTelegram;
|
||||
export type TelegramAuditCollectFn = typeof import("./audit.js").collectTelegramUnmentionedGroupIds;
|
||||
export type TelegramAuditMembershipFn = typeof import("./audit.js").auditTelegramGroupMembership;
|
||||
export type TelegramMonitorFn = typeof import("./monitor.js").monitorTelegramProvider;
|
||||
export type TelegramSendFn = typeof import("./send.js").sendMessageTelegram;
|
||||
export type TelegramResolveTokenFn = typeof import("./token.js").resolveTelegramToken;
|
||||
|
||||
export type TelegramChannelRuntime = {
|
||||
probeTelegram?: TelegramProbeFn;
|
||||
collectTelegramUnmentionedGroupIds?: TelegramAuditCollectFn;
|
||||
auditTelegramGroupMembership?: TelegramAuditMembershipFn;
|
||||
monitorTelegramProvider?: TelegramMonitorFn;
|
||||
sendMessageTelegram?: TelegramSendFn;
|
||||
resolveTelegramToken?: TelegramResolveTokenFn;
|
||||
messageActions?: ChannelMessageActionAdapter;
|
||||
};
|
||||
|
||||
export type TelegramRuntime = PluginRuntime & {
|
||||
channel: PluginRuntime["channel"] & {
|
||||
telegram?: TelegramChannelRuntime;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user