mirror of
https://github.com/moltbot/moltbot.git
synced 2026-03-21 16:41:56 +00:00
Revert "fix(telegram): wire sendPollTelegram into channel action handler (#16977)"
This reverts commit 7bb9a7dcfc.
This commit is contained in:
@@ -339,42 +339,5 @@ export async function handleTelegramAction(
|
||||
return jsonResult({ ok: true, ...stats });
|
||||
}
|
||||
|
||||
if (action === "sendPoll") {
|
||||
const to = readStringParam(params, "to", { required: true });
|
||||
const question = readStringParam(params, "question") ?? readStringParam(params, "pollQuestion");
|
||||
if (!question) {
|
||||
throw new Error("sendPoll requires 'question'");
|
||||
}
|
||||
const options = (params.options ?? params.pollOption) as string[] | undefined;
|
||||
if (!options || options.length < 2) {
|
||||
throw new Error("sendPoll requires at least 2 options");
|
||||
}
|
||||
const maxSelections =
|
||||
typeof params.maxSelections === "number" ? params.maxSelections : undefined;
|
||||
const isAnonymous = typeof params.isAnonymous === "boolean" ? params.isAnonymous : undefined;
|
||||
const silent = typeof params.silent === "boolean" ? params.silent : undefined;
|
||||
const replyToMessageId = readNumberParam(params, "replyTo");
|
||||
const messageThreadId = readNumberParam(params, "threadId");
|
||||
const pollAccountId = readStringParam(params, "accountId");
|
||||
|
||||
const res = await sendPollTelegram(
|
||||
to,
|
||||
{ question, options, maxSelections },
|
||||
{
|
||||
accountId: pollAccountId?.trim() || undefined,
|
||||
replyToMessageId,
|
||||
messageThreadId,
|
||||
isAnonymous,
|
||||
silent,
|
||||
},
|
||||
);
|
||||
return jsonResult({
|
||||
ok: true,
|
||||
messageId: res.messageId,
|
||||
chatId: res.chatId,
|
||||
pollId: res.pollId,
|
||||
});
|
||||
}
|
||||
|
||||
throw new Error(`Unsupported Telegram action: ${action}`);
|
||||
}
|
||||
|
||||
@@ -498,32 +498,6 @@ describe("telegramMessageActions", () => {
|
||||
expect(String(callPayload.messageId)).toBe("456");
|
||||
expect(callPayload.emoji).toBe("ok");
|
||||
});
|
||||
|
||||
it("routes poll action to sendPoll with question and options", async () => {
|
||||
const cfg = { channels: { telegram: { botToken: "tok" } } } as OpenClawConfig;
|
||||
|
||||
await telegramMessageActions.handleAction?.({
|
||||
channel: "telegram",
|
||||
action: "poll",
|
||||
params: {
|
||||
to: "-100123",
|
||||
pollQuestion: "Ready?",
|
||||
pollOption: ["Yes", "No", "Maybe"],
|
||||
},
|
||||
cfg,
|
||||
accountId: undefined,
|
||||
});
|
||||
|
||||
expect(handleTelegramAction).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
action: "poll",
|
||||
to: "-100123",
|
||||
question: "Ready?",
|
||||
options: ["Yes", "No", "Maybe"],
|
||||
}),
|
||||
cfg,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("signalMessageActions", () => {
|
||||
|
||||
@@ -56,9 +56,6 @@ export const telegramMessageActions: ChannelMessageActionAdapter = {
|
||||
const gate = (key: keyof TelegramActionConfig, defaultValue = true) =>
|
||||
gates.some((g) => g(key, defaultValue));
|
||||
const actions = new Set<ChannelMessageActionName>(["send"]);
|
||||
if (gate("poll")) {
|
||||
actions.add("poll");
|
||||
}
|
||||
if (gate("reactions")) {
|
||||
actions.add("react");
|
||||
}
|
||||
|
||||
@@ -16,8 +16,6 @@ export type TelegramActionConfig = {
|
||||
sendMessage?: boolean;
|
||||
deleteMessage?: boolean;
|
||||
editMessage?: boolean;
|
||||
/** Enable poll actions (sendPoll). */
|
||||
poll?: boolean;
|
||||
/** Enable sticker actions (send and search). */
|
||||
sticker?: boolean;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user