slack-term 1.44.0 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/SKILL.md +14 -7
- package/dist/cli.js +198 -197
- package/package.json +1 -1
- package/ts/ask.ts +79 -24
- package/ts/cli.ts +69 -31
package/README.md
CHANGED
|
@@ -123,9 +123,10 @@ slack react "<permalink>" eyes --remove # take a reaction back
|
|
|
123
123
|
|
|
124
124
|
# Ask a question with its choices pre-seeded as 1️⃣..🔟 reactions — answering is
|
|
125
125
|
# one tap on an existing pill, no emoji picker. Same two-step confirm gate as send.
|
|
126
|
-
# A
|
|
127
|
-
# these" and the answer comes as a reply (exit 5), not as the
|
|
128
|
-
#
|
|
126
|
+
# A ➕ "その他 (other)" pill always follows the choices: pressing it means "none of
|
|
127
|
+
# these" and the answer comes as a reply (exit 5), not as the ➕ itself. (Pills posted
|
|
128
|
+
# before ➕ carry ❓ there; they are still read, collected and voided the same way.)
|
|
129
|
+
# --explain (or SLACK_TERM_ASK_EXPLAIN=1) adds an ℹ️ "説明して (explain)" pill after ➕:
|
|
129
130
|
# pressing it asks YOU to explain in the thread and is never an answer — the question
|
|
130
131
|
# stays open. --wait/--waitFor say so on stderr and may post ONE thread note (once per
|
|
131
132
|
# question) saying an explanation is coming; --explain-exit makes that exit 7.
|
|
@@ -151,7 +152,7 @@ slack ask "#eng" "@here 誰か見れる?" "見る" "あとで" # anyo
|
|
|
151
152
|
# With no choices the question asks for a free-text reply and the reply is the answer.
|
|
152
153
|
# In a DM a plain reply counts; in a channel only reactions and thread replies do.
|
|
153
154
|
# Once answered, the question is edited to "✅ …回答済み > <answer>" — the body/background
|
|
154
|
-
# and the CHOSEN option line stay; the other options,
|
|
155
|
+
# and the CHOSEN option line stay; the other options, ➕ line and instructions go. The
|
|
155
156
|
# unpressed seeds are removed, leaving the chosen pill visible.
|
|
156
157
|
#
|
|
157
158
|
# Thread notes (audience replies that are not the answer, even after ✅) go to
|
|
@@ -362,9 +363,15 @@ into a second board.
|
|
|
362
363
|
|
|
363
364
|
### tail — real-time message stream
|
|
364
365
|
|
|
365
|
-
`slack tail`
|
|
366
|
-
|
|
367
|
-
|
|
366
|
+
`slack tail` prints new messages in a channel as they arrive, in the same
|
|
367
|
+
`[ts] @handle: text` format as the `read` command.
|
|
368
|
+
|
|
369
|
+
- **Transport: RTM WebSocket** (default) when the token is a desktop session
|
|
370
|
+
(`xoxc-` + cookie) and none of `--since`, `--timeout`, `--exit-on-message` is
|
|
371
|
+
given. If RTM can't connect it says `RTM unavailable — switching to polling.`
|
|
372
|
+
- **Fallback: polling** every `--interval` ms (default `60000` = 60 s; e.g.
|
|
373
|
+
`--interval=3000` for near-real-time at the cost of more API calls). Used for
|
|
374
|
+
other tokens, with any of the three flags above, or with `--no-rtm`.
|
|
368
375
|
|
|
369
376
|
```sh
|
|
370
377
|
slack tail "#general" # follow new messages from now
|
package/SKILL.md
CHANGED
|
@@ -174,13 +174,16 @@ without losing clicks. A reaction is durable state anyone can read back later.
|
|
|
174
174
|
destination resolve with the bot token (so the bot needs `users:read`).
|
|
175
175
|
- **Answer paths**: a pill, or free text. In a DM a plain reply counts; in a channel only
|
|
176
176
|
reactions and thread replies do (a channel carries unrelated traffic).
|
|
177
|
-
-
|
|
178
|
-
(`1️⃣ … 2️⃣ … 3️⃣ …
|
|
177
|
+
- **➕ is the standing "other" choice.** Every question with choices lists it last
|
|
178
|
+
(`1️⃣ … 2️⃣ … 3️⃣ … ➕ その他 — スレッドで返信`) and seeds it after the keycaps. Pressing it
|
|
179
179
|
is not an answer — `--wait` notes it on stderr and keeps waiting for the reply, which
|
|
180
|
-
arrives as free text (exit `5`).
|
|
180
|
+
arrives as free text (exit `5`). Questions posted before 2026-10-14 carry ❓ as this
|
|
181
|
+
pill (line and seed); they keep working, and a ❓ press counts as "other" on either kind.
|
|
182
|
+
The head marker stays `:question:` — only the pill moved. A free-text question has no
|
|
183
|
+
other choice and still seeds ❓.
|
|
181
184
|
- **ℹ️ is the "explain first" pill** — offered with `--explain` (or
|
|
182
|
-
`SLACK_TERM_ASK_EXPLAIN=1`; `--no-explain` overrides), listed under
|
|
183
|
-
it.
|
|
185
|
+
`SLACK_TERM_ASK_EXPLAIN=1`; `--no-explain` overrides), listed under ➕ and seeded after
|
|
186
|
+
it. ➕ means "none fit, my answer follows"; ℹ️ means "I can't answer yet — explain".
|
|
184
187
|
It **never answers or closes** the question: no ✅, the pills stay. `--wait`/`--waitFor`
|
|
185
188
|
print who pressed it on stderr (`--json`: `explain: [user ids]`) and may post ONE thread
|
|
186
189
|
note per question saying an explanation is coming (the thread is the record — re-presses
|
|
@@ -218,7 +221,7 @@ never get the same note twice. Only the question's audience counts; the asker, b
|
|
|
218
221
|
bystanders are never notes.
|
|
219
222
|
|
|
220
223
|
**Answering keeps the context.** The ✅ rewrite keeps the question's body (its background)
|
|
221
|
-
and the chosen option; only the options not chosen, the ❓ line and the instructions go.
|
|
224
|
+
and the chosen option; only the options not chosen, the ➕ (or ❓) line and the instructions go.
|
|
222
225
|
The head is unchanged (`:white_check_mark:` prefix, question, stamp, quoted answer), so
|
|
223
226
|
anything that keys on the prefix or re-reads the answer works on old and new ✅ bodies alike.
|
|
224
227
|
|
|
@@ -228,7 +231,11 @@ anything that keys on the prefix or re-reads the answer works on old and new ✅
|
|
|
228
231
|
(repeatable `--void=`; alias `slack ask void <link…>`; same `--code` gate; own questions
|
|
229
232
|
only, `--as-bot` for the bot's). The text becomes `:no_entry_sign:` + reason with the body
|
|
230
233
|
kept, our pills come off, and a 🚫 reaction is added. Three states, three prefixes:
|
|
231
|
-
`:question:` open, `:white_check_mark:` answered, `:no_entry_sign:` void
|
|
234
|
+
`:question:` open, `:white_check_mark:` answered, `:no_entry_sign:` void (the text prefix;
|
|
235
|
+
the open question's marker REACTION is ➕ on a question with choices, ❓ on free text and
|
|
236
|
+
on questions posted before ➕ — search `has::question: OR has::heavy_plus_sign:`; ➕ is a common
|
|
237
|
+
emoji, so that can match unrelated messages — `slack ask --ls` reads the local sent-log
|
|
238
|
+
and is unaffected). `--wait` /
|
|
232
239
|
`--waitFor` on a void question **exit 6** (`--json` → `status: "void"`): stop waiting.
|
|
233
240
|
Answered questions cannot be voided.
|
|
234
241
|
|