Revert "Fix Telegram poll action wiring"

This reverts commit 556b531a14.
This commit is contained in:
Nimrod Gutman
2026-02-17 09:43:57 +02:00
parent b2fef5ebc4
commit 33b59441d2
5 changed files with 8 additions and 177 deletions

View File

@@ -142,43 +142,6 @@ describe("discord message actions", () => {
});
});
describe("telegram message actions", () => {
it("lists poll action when telegram is configured", () => {
const cfg = { channels: { telegram: { botToken: "t0" } } } as OpenClawConfig;
const actions = telegramMessageActions.listActions?.({ cfg }) ?? [];
expect(actions).toContain("poll");
});
it("routes poll with normalized params", async () => {
await telegramMessageActions.handleAction?.({
channel: "telegram",
action: "poll",
params: {
to: "123",
pollQuestion: "Ready?",
pollOption: ["Yes", "No"],
pollMulti: true,
pollDurationSeconds: 60,
},
cfg: { channels: { telegram: { botToken: "tok" } } } as OpenClawConfig,
accountId: "ops",
});
expect(handleTelegramAction).toHaveBeenCalledWith(
expect.objectContaining({
action: "poll",
to: "123",
question: "Ready?",
options: ["Yes", "No"],
allowMultiselect: true,
durationSeconds: 60,
accountId: "ops",
}),
expect.any(Object),
);
});
});
describe("handleDiscordMessageAction", () => {
it("forwards context accountId for send", async () => {
await handleDiscordMessageAction({

View File

@@ -1,3 +1,5 @@
import type { TelegramActionConfig } from "../../../config/types.telegram.js";
import type { ChannelMessageActionAdapter, ChannelMessageActionName } from "../types.js";
import {
readNumberParam,
readStringArrayParam,
@@ -5,14 +7,12 @@ import {
readStringParam,
} from "../../../agents/tools/common.js";
import { handleTelegramAction } from "../../../agents/tools/telegram-actions.js";
import type { TelegramActionConfig } from "../../../config/types.telegram.js";
import { extractToolSend } from "../../../plugin-sdk/tool-send.js";
import {
createTelegramActionGate,
listEnabledTelegramAccounts,
} from "../../../telegram/accounts.js";
import { isTelegramInlineButtonsEnabled } from "../../../telegram/inline-buttons.js";
import type { ChannelMessageActionAdapter, ChannelMessageActionName } from "../types.js";
const providerId = "telegram";
@@ -65,9 +65,6 @@ export const telegramMessageActions: ChannelMessageActionAdapter = {
if (gate("deleteMessage")) {
actions.add("delete");
}
if (gate("polls")) {
actions.add("poll");
}
if (gate("editMessage")) {
actions.add("edit");
}
@@ -126,40 +123,6 @@ export const telegramMessageActions: ChannelMessageActionAdapter = {
);
}
if (action === "poll") {
const to = readStringParam(params, "to", { required: true });
const question = readStringParam(params, "pollQuestion", { required: true });
const options = readStringArrayParam(params, "pollOption", { required: true }) ?? [];
const allowMultiselect = typeof params.pollMulti === "boolean" ? params.pollMulti : undefined;
const durationSeconds = readNumberParam(params, "pollDurationSeconds", {
integer: true,
});
const durationHours = readNumberParam(params, "pollDurationHours", {
integer: true,
});
const replyToMessageId = readNumberParam(params, "replyTo", { integer: true });
const messageThreadId = readNumberParam(params, "threadId", { integer: true });
const silent = typeof params.silent === "boolean" ? params.silent : undefined;
const isAnonymous = typeof params.isAnonymous === "boolean" ? params.isAnonymous : undefined;
return await handleTelegramAction(
{
action: "poll",
to,
question,
options,
allowMultiselect,
durationSeconds: durationSeconds ?? undefined,
durationHours: durationHours ?? undefined,
replyToMessageId: replyToMessageId ?? undefined,
messageThreadId: messageThreadId ?? undefined,
silent,
isAnonymous,
accountId: accountId ?? undefined,
},
cfg,
);
}
if (action === "delete") {
const chatId =
readStringOrNumberParam(params, "chatId") ??