
























@@ -12,10 +12,6 @@ import {
1212} from "./facade-loader.js";
1313import { getRuntimeConfig, getRuntimeConfigSnapshot } from "./runtime-config-snapshot.js";
141415-export type {
16-DiscordComponentBuildResult,
17-DiscordComponentMessageSpec,
18-} from "../../extensions/discord/api.js";
1915export type { ChannelMessageActionAdapter, ChannelMessageActionName } from "./channel-contract.js";
2016export type { ChannelPlugin } from "./channel-core.js";
2117export type { OpenClawConfig } from "./config-types.js";
@@ -41,6 +37,43 @@ export { DiscordConfigSchema } from "./bundled-channel-config-schema.js";
41374238export type DiscordAccountConfig = NonNullable<NonNullable<OpenClawConfig["channels"]>["discord"]>;
433940+export type DiscordComponentMessageSpec = {
41+text?: string;
42+reusable?: boolean;
43+container?: {
44+accentColor?: string | number;
45+spoiler?: boolean;
46+};
47+blocks?: unknown[];
48+modal?: unknown;
49+};
50+51+export type DiscordComponentBuildResult = {
52+components: unknown[];
53+entries: unknown[];
54+modals: unknown[];
55+};
56+57+export type DiscordComponentSendOpts = {
58+cfg?: OpenClawConfig;
59+accountId?: string;
60+replyTo?: string;
61+files?: unknown;
62+mediaReadFile?: (filePath: string) => Promise<Buffer>;
63+filename?: string;
64+textLimit?: number;
65+maxLinesPerMessage?: number;
66+tableMode?: unknown;
67+chunkMode?: unknown;
68+[key: string]: unknown;
69+};
70+71+export type DiscordComponentSendResult = {
72+id?: string;
73+channel_id?: string;
74+[key: string]: unknown;
75+};
76+4477export type ResolvedDiscordAccount = {
4578accountId: string;
4679enabled: boolean;
@@ -70,9 +103,29 @@ type DirectoryConfigParams = {
70103accountId?: string | null;
71104};
72105106+type BuildDiscordComponentMessage = (params: {
107+spec: DiscordComponentMessageSpec;
108+fallbackText?: string;
109+sessionKey?: string;
110+agentId?: string;
111+accountId?: string;
112+}) => DiscordComponentBuildResult;
113+114+type EditDiscordComponentMessage = (
115+to: string,
116+messageId: string,
117+spec: DiscordComponentMessageSpec,
118+opts: DiscordComponentSendOpts,
119+) => Promise<DiscordComponentSendResult>;
120+121+type RegisterBuiltDiscordComponentMessage = (params: {
122+buildResult: DiscordComponentBuildResult;
123+messageId: string;
124+}) => void;
125+73126type DiscordApiFacadeModule = {
74127collectDiscordStatusIssues: (accounts: ChannelAccountSnapshot[]) => ChannelStatusIssue[];
75-buildDiscordComponentMessage: typeof import("../../extensions/discord/api.js").buildDiscordComponentMessage;
128+buildDiscordComponentMessage: BuildDiscordComponentMessage;
76129discordOnboardingAdapter?: NonNullable<ChannelPlugin<ResolvedDiscordAccount>["setup"]>;
77130inspectDiscordAccount: (params: { cfg: OpenClawConfig; accountId?: string | null }) => unknown;
78131listDiscordAccountIds: (cfg: OpenClawConfig) => string[];
@@ -95,8 +148,8 @@ type DiscordApiFacadeModule = {
95148};
9614997150type DiscordRuntimeFacadeModule = {
98-editDiscordComponentMessage: typeof import("../../extensions/discord/runtime-api.js").editDiscordComponentMessage;
99-registerBuiltDiscordComponentMessage: typeof import("../../extensions/discord/runtime-api.js").registerBuiltDiscordComponentMessage;
151+editDiscordComponentMessage: EditDiscordComponentMessage;
152+registerBuiltDiscordComponentMessage: RegisterBuiltDiscordComponentMessage;
100153autoBindSpawnedDiscordSubagent: (params: {
101154cfg: OpenClawConfig;
102155accountId?: string;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。