From 6c05183bb9a88f6ad2370e8e7254a408907f4f38 Mon Sep 17 00:00:00 2001 From: leemour Date: Sat, 3 Oct 2026 03:13:21 +0200 Subject: [PATCH] chore: prepare 0.23.0 onboarding release --- CHANGELOG.md | 2 +- README.md | 5 +++-- docs/mcp.md | 4 ++-- package.json | 2 +- src/version.ts | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45b9aaa..2fa6c2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Notable changes to `@leemour/tg-cli`. One section per version, newest first; versions follow [semantic versioning](https://semver.org), so before `1.0.0` the command interface may still change. -## Unreleased +## 0.23.0 — 03.10.2026 ### What's new diff --git a/README.md b/README.md index fb8e725..7a9978f 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,9 @@ tg bot list --check # every bot on this computer - **Recipients and a journal.** Each bot has its own list of chats it may write to, and a journal of what it did, without the text. - **Messages and chats.** Send, edit, delete and pin, to a chat by id or by title, or to a person - as `user:`; `--md`, `--html`, a file or a photo. A Telegram bot cannot read a chat's history: - `messages list` shows what this bot sent and received on this computer. + as `user:`; `--md`, `--html`, a file or a photo. `messages list` shows what this bot sent, + received or imported on this computer. `bot store fetch` imports older channel and supergroup + messages through a separate MTProto session; private chats and basic groups are unsupported. - **Admins, members, buttons, the menu, webhooks.** `bot chats admins`, `bot chats members remove`, `bot callbacks answer`, `bot commands`, `bot webhooks` — the same commands `max bot` has. - **`bot watch`** prints what happens in the bot's chats as it arrives, and keeps it: that is the diff --git a/docs/mcp.md b/docs/mcp.md index 1ab6077..b79fded 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -194,13 +194,13 @@ no fields, only the one button. The client's own window shows the arguments as t | `tg_messages_photo` | `tg messages download` | a message's photo as an image to look at, up to 512 KB; anything else is refused with the `tg messages download` command that saves it | | `tg_messages_transcribe` | `tg messages transcribe` | a voice message as text — by Telegram (Premium or the weekly trial), else by a speech model on this machine; `local: true` skips Telegram; `pending: true` means Telegram was not finished within a minute; a missing model is refused with `tg models audio download`, never downloaded | | `tg_messages_search` | `tg messages search` | search what this machine has kept; never asks Telegram | -| `tg_messages_send` | `tg messages send`, `--reply-to` | send, by `messages.send`; `reply_to` answers a message; `send_id` repeats a send whose outcome was unknown; `silent`, `no_preview` and `md` as `--silent`, `--no-preview` and `--md`; `at_time` sends it later — never retried, the confirmation form shows the clock time; `file` or `photo` attaches a path from this machine, the text as the caption (`as_file` keeps a video a file), `voice` sends an Ogg Opus file as a voice message — hidden files, `~/.ssh`, tg's own folders and the message store are refused, with no way around it over MCP | +| `tg_messages_send` | `tg messages send`, `--reply-to`, `--topic` | send, by `messages.send`; `topic` chooses an open forum topic, and `reply_to` must belong to it; `send_id` repeats a send whose outcome was unknown with the same chat and topic; `silent`, `no_preview` and `md` as `--silent`, `--no-preview` and `--md`; `at_time` sends it later — never retried, the confirmation form shows the clock time; `file` or `photo` attaches a path from this machine, the text as the caption (`as_file` keeps a video a file), `voice` sends an Ogg Opus file as a voice message — hidden files, `~/.ssh`, tg's own folders and the message store are refused, with no way around it over MCP | | `tg_messages_edit` | `tg messages edit` | the new text of the owner's own message, by `messages.edit`; `md` as `--md`; repeating it changes nothing | | `tg_chats_mark_read` | `tg chats mark-read` | mark a chat read, to its newest message or `until` one, by `chats.mark-read` — the other side sees it | | `tg_messages_delete` | `tg messages delete` | up to 10 messages from the owner's view, by `messages.delete` — a form first by default; never for everyone; each counts toward the hourly limit | | `tg_reactions_add`, `tg_reactions_remove` | `tg reactions add`, `remove` | the owner's reaction on one message, by `reactions`; the confirmation form shows the emoji | | `tg_polls_show` | `tg polls show` | a poll and its answer ids; a read tool | -| `tg_polls_vote`, `tg_polls_close`, `tg_polls_create` | `tg polls vote`, `close`, `create` | vote by answer id (`polls.vote`), close the owner's own poll (`polls.close`), create one (`polls.create`, with `send_id` for a retry and `revote` to let people change their vote) | +| `tg_polls_vote`, `tg_polls_close`, `tg_polls_create` | `tg polls vote`, `close`, `create`, `--topic` | vote by answer id (`polls.vote`), close the owner's own poll (`polls.close`), create one (`polls.create`, with `topic` for an open forum topic, `send_id` for a retry in the same chat and topic, and `revote` to let people change their vote) | | `tg_messages_forward` | `tg messages forward` | one message into another chat (`to`), by `messages.forward`; `send_id` repeats a forward whose outcome was unknown | | `tg_messages_pin`, `tg_messages_unpin` | `tg messages pin`, `unpin` | pin one message, quietly unless `notify`, by `messages.pin` and `messages.unpin` | | `tg_chats_create`, `tg_chats_join`, `tg_chats_leave` | `tg chats create`, `join`, `leave` | make a group or channel with these people, join one by its link, leave one — the others see each | diff --git a/package.json b/package.json index d75bc2c..2836032 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@leemour/tg-cli", - "version": "0.22.0", + "version": "0.23.0", "description": "A local command line interface for a personal Telegram account, built for agents and scripts", "license": "MIT", "author": "Viacheslav Ptsarev", diff --git a/src/version.ts b/src/version.ts index c7a14a1..2bb55d8 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = "0.22.0" +export const VERSION = "0.23.0"