import type { MarkdownTableMode, OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import {
chunkMarkdownTextWithMode,
isSilentReplyText,
SILENT_REPLY_TOKEN,
type ChunkMode,
} from "openclaw/plugin-sdk/reply-chunking"; import {
deliverTextOrMediaReply,
resolveSendableOutboundReplyParts,
type ReplyPayload,
} from "openclaw/plugin-sdk/reply-payload"; import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime-env"; import { markdownToSlackMrkdwnChunks } from "../format.js"; import { SLACK_TEXT_LIMIT } from "../limits.js"; import { resolveSlackReplyBlocks } from "../reply-blocks.js"; import { sendMessageSlack, type SlackSendIdentity } from "./send.runtime.js";
export function readSlackReplyBlocks(payload: ReplyPayload) { return resolveSlackReplyBlocks(payload);
}
export function resolveDeliveredSlackReplyThreadTs(params: {
replyToMode: "off" | "first" | "all" | "batched";
payloadReplyToId?: string;
replyThreadTs?: string;
}): string | undefined { // Keep reply tags opt-in: when replyToMode is off, explicit reply tags // must not force threading. const inlineReplyToId = params.replyToMode === "off" ? undefined : params.payloadReplyToId; return inlineReplyToId ?? params.replyThreadTs;
}
// Slack slash command responses can be multi-part by sending follow-ups via response_url. const responseType = params.ephemeral ? "ephemeral" : "in_channel"; for (const text of messages) {
await params.respond({ text, response_type: responseType });
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.