Install
openclaw skills install telegram-markdown-adapterAdapt markdown-style replies into Telegram-friendly rich text without broken rendering. Use when the user prefers Markdown structure but the destination is Telegram, or when drafts contain headings, tables, nested lists, code fences, checklists, or other Markdown that Telegram will render poorly. Trigger for Telegram reply formatting, Telegram-friendly rewriting, converting Markdown to Telegram-safe output, or preserving Markdown clarity while avoiding raw Markdown artifacts. 将 Markdown 风格回复转换为 Telegram 友好的富文本格式,避免标题、表格、嵌套列表、代码块、任务列表等在 Telegram 中渲染异常。适用于用户偏好 Markdown 结构、但目标渠道是 Telegram,或需要把 Markdown 味道保留下来同时避免原始语法外露的场景。
openclaw skills install telegram-markdown-adapterKeep the structure and readability of Markdown, but output in a format Telegram actually renders well.
这个技能的目标不是保留原始 Markdown 语法,而是保留 Markdown 的结构感、层次感、可读性,再把最终输出适配成 Telegram 真正适合阅读和渲染的形式。
适合这些场景:
默认策略:
伪表格 / 卡片式 / Emoji 分栏式 之间自动判断When the destination is Telegram, do not dump raw Markdown just because it looks nice in plain text. Rewrite it into Telegram-safe formatting while preserving the original structure and emphasis.
Prefer these goals in order:
Unless the user explicitly asks for plain text, draft the reply in Markdown-like structure first, then adapt it for Telegram-safe rendering.
Default writing style:
Watch for these problem patterns:
# Heading- [ ]If the original content uses these, adapt rather than preserve literally.
Use these conversions by default:
# Heading → **Heading** on its own line, optionally with an emoji if it improves scanability## Section → **Section**───- [ ] becomes - 待办:... or - ☐ ...- ✅ ...> stacksIf Telegram HTML mode or rich formatting is available through the runtime, prefer the subset that is widely supported and low-risk. Do not rely on fragile formatting tricks.
Telegram reads better with short blocks.
Default style:
If a reply is long, split it into 2–3 chunks naturally.
Do not say things like:
Just output the adapted version directly unless the user asks about the transformation itself.
When the reply is long, split naturally into multiple Telegram messages instead of forcing one giant block.
Preferred split order:
If a section would render awkwardly in Telegram:
For Telegram-facing final output:
OpenClaw's Telegram message-tool sending path supports HTML parse mode and falls back to plain text if HTML parsing fails. However, ordinary assistant reply rendering may not always preserve HTML parse mode. Therefore, HTML should be used selectively.
Prefer Telegram HTML when:
message toolDo not assume raw HTML will render correctly in ordinary direct assistant replies. For standard conversational replies, prefer Telegram-safe structured text unless the runtime path is known to support HTML parse mode.
Safe tag subset to prefer:
<b><i><u><s><code><pre><a href="...">...<\/a>Rules:
<, >, and & when they are plain textUse HTML as the preferred rich-text mode for Telegram only when the send path is compatible, especially via the message tool.
Choose the presentation style based on content shape, not personal habit.
Use when all of these are mostly true:
Good fits:
Avoid when:
Use when any of these are true:
This is the default fallback.
Good fits:
Use when all or most of these are true:
Good fits:
When the reply is Telegram-bound and rich formatting helps, prefer this order:
message-tool sends, headings, inline code, links, and structured reportsIn practice:
message → often HTML or Style 4<pre> if HTML mode is used through a compatible send pathInstead of raw Markdown:
# Today
## What changed
- Item A
- Item B
Output like:
**Today**
**What changed**
- Item A
- Item B
Instead of:
| Item | Status | Note |
|---|---|---|
| A | Done | OK |
| B | Blocked | Waiting |
Output like:
**Item A**
- Status: Done
- Note: OK
**Item B**
- Status: Blocked
- Note: Waiting
Use when sending updates, summaries, or operational reports.
📊 标题
───
**一、分类**
- 事项 1
- 事项 2
───
**二、分类**
- 事项 3
- 事项 4
───
📌 下一步
- 动作 1
- 动作 2
Keep inline code for:
Keep fenced code blocks only when:
Otherwise, summarize and only include the critical snippet.
Avoid these in Telegram replies unless the user explicitly asks for raw Markdown:
If the content is mainly:
When table-like data appears, do not default blindly. Decide like this:
Read references/telegram-format-rules.md when you need concrete conversion rules and examples for headings, tables, checklists, code, and long replies.