Post a question to Slack and wait for a reply, or post a reply into a thread using scripts/slack.py.
Use scripts/slack.py to post a question and wait for the first reply, or to post a reply into an existing thread.
uv run scripts/slack.py "Did you finish the task?" --interval 2 --follow-up-message "This counts as another ignore. Please reply in the thread."
uv run scripts/slack.py --mode reply --thread-ts 1700000000.000000 "Reply text"
question is the message text (question in ask mode, reply in reply mode).--mode chooses behavior (ask default, reply posts into a thread).--no-reply-hint skips appending "Reply in thread."--follow-up-message sets the message to post when a reply is not received within the ignore window.ask mode.ask mode:--interval sets polling interval in seconds (default: 2).--thread-ts and --channel are not required.reply mode:--thread-ts is required.--channel overrides SLACK_CHANNEL (accepts name or ID).--interval is not used.Ask mode prints a single line:
{assistant_question: ..., user_answer: ..., is_answer: true|false, thread_ts: ..., message_ts: ...}
If no reply arrives before timeout, user_answer is null and is_answer is false.
Reply mode prints a single line:
{assistant_question: ..., user_answer: null, is_answer: false, thread_ts: ..., message_ts: ...}
SLACK_BOT_USER_OAUTH_TOKEN.SLACK_USER_OAUTH_TOKEN is used for reading replies; if unset, the bot token is reused.missing_scope errors; add channels:history, groups:history, im:history, and mpim:history as needed.\n, \r, and \t sequences in question before sending.IGNORE_SPAN * REPLY_COUNT_LIMIT.ask mode requires --follow-up-message.