diff --git a/src/telegram/outbound-payload.ts b/src/telegram/outbound-payload.ts new file mode 100644 index 0000000..f572421 --- /dev/null +++ b/src/telegram/outbound-payload.ts @@ -0,0 +1,14 @@ +import { buildDefaultReplyEndButtons } from "../runtime/openclaw-telegram-poc.js" +import type { TelegramInlineButton } from "../types.js" + +export type TelegramReplyEndPayload = { + text: string + buttons: TelegramInlineButton[][] +} + +export function buildTelegramReplyEndPayload(text: string): TelegramReplyEndPayload { + return { + text, + buttons: buildDefaultReplyEndButtons(), + } +} diff --git a/tests/telegram-outbound-payload.test.mjs b/tests/telegram-outbound-payload.test.mjs new file mode 100644 index 0000000..08065cd --- /dev/null +++ b/tests/telegram-outbound-payload.test.mjs @@ -0,0 +1,11 @@ +import test from "node:test" +import assert from "node:assert/strict" + +import { buildTelegramReplyEndPayload } from "../src/telegram/outbound-payload.ts" + +test("buildTelegramReplyEndPayload returns text plus default reply-end buttons", () => { + const payload = buildTelegramReplyEndPayload("hello") + assert.equal(payload.text, "hello") + assert.equal(payload.buttons[0][0].callback_data, "rec:continue") + assert.equal(payload.buttons[0][1].callback_data, "rec:stop") +})