Problem
When sending messages with inline links via tgcli send text --parse-mode markdown, Telegram generates a link preview (URL embed) automatically. There is no way to disable this.
Proposed solution
Add --no-preview boolean flag to send text command to disable automatic link preview.
tgcli send text --to <id> --message "Check [this](https://example.com)" --parse-mode markdown --no-preview
MTProto mapping: messages.sendMessage → noWebpage: true
Note: send file with caption can also contain links, but Telegram does not generate link previews for media messages — only for plain text. So --no-preview applies to send text only.
Implementation plan
cli.js: add --no-preview boolean option to send text command
telegram-client.js → sendTextMessage(): pass noWebpage: true in params when flag is set
mcp-server.js: add no_preview boolean parameter to sendMessage MCP tool
docs/cli.md: document the new flag
SKILL.md: update Send Text section with --no-preview examples
gramjs verification: confirm that client.sendText(peer, text, { noWebpage: true }) is supported — check gramjs sendMessage params interface.
Context
Telegram MTProto API supports noWebpage parameter in messages.sendMessage. This is especially useful for digest-style posts with multiple links where preview clutters the message.
See also: #11 (other missing send parameters: --silent, --no-forwards, --caption-above, --spoiler, --schedule, --force-document)
Current workaround
Use telegram-mcp send_message with disable_web_page_preview: true, but this breaks the workflow when everything else is done via tgcli.
Acceptance criteria
Problem
When sending messages with inline links via
tgcli send text --parse-mode markdown, Telegram generates a link preview (URL embed) automatically. There is no way to disable this.Proposed solution
Add
--no-previewboolean flag tosend textcommand to disable automatic link preview.MTProto mapping:
messages.sendMessage→noWebpage: trueImplementation plan
cli.js: add--no-previewboolean option tosend textcommandtelegram-client.js→sendTextMessage(): passnoWebpage: truein params when flag is setmcp-server.js: addno_previewboolean parameter tosendMessageMCP tooldocs/cli.md: document the new flagSKILL.md: update Send Text section with--no-previewexamplesgramjs verification: confirm that
client.sendText(peer, text, { noWebpage: true })is supported — check gramjssendMessageparams interface.Context
Telegram MTProto API supports
noWebpageparameter inmessages.sendMessage. This is especially useful for digest-style posts with multiple links where preview clutters the message.See also: #11 (other missing send parameters:
--silent,--no-forwards,--caption-above,--spoiler,--schedule,--force-document)Current workaround
Use telegram-mcp
send_messagewithdisable_web_page_preview: true, but this breaks the workflow when everything else is done via tgcli.Acceptance criteria
tgcli send text --no-previewsends message withnoWebpage: truesendMessagetool acceptsno_previewparameterdocs/cli.mdSKILL.mdupdated (Send Text section with--no-previewexample)