import type { Command } from "commander"; import { collectOption } from "../helpers.js"; import type { MessageCliHelpers } from "./helpers.js"; export function registerMessagePollCommand(message: Command, helpers: MessageCliHelpers) { helpers .withMessageBase( helpers.withRequiredMessageTarget(message.command("poll").description("Send a poll")), ) .requiredOption("--poll-question ", "Poll question") .option( "--poll-option ", "Poll option (repeat 2-12 times)", collectOption, [] as string[], ) .option("--poll-multi", "Allow multiple selections", false) .option("--poll-duration-hours ", "Poll duration in hours (Discord)") .option("--poll-duration-seconds ", "Poll duration in seconds (Telegram; 5-600)") .option("--poll-anonymous", "Send an anonymous poll (Telegram)", false) .option("--poll-public", "Send a non-anonymous poll (Telegram)", false) .option("-m, --message ", "Optional message body") .option( "--silent", "Send poll silently without notification (Telegram + Discord where supported)", false, ) .option("--thread-id ", "Thread id (Telegram forum topic / Slack thread ts)") .action(async (opts) => { await helpers.runMessageAction("poll", opts); }); }