From 6ccc95391eef26ea149cbc0ffa198f8055f049a2 Mon Sep 17 00:00:00 2001 From: Kyle Fang Date: Sun, 11 Jan 2026 22:05:38 +0800 Subject: [PATCH] feat: add textMarkdown field with entities to message APIs Add textMarkdown field to formatMessage output that includes formatting entities (links, bold, italic, code, etc.) converted to markdown format using @mtcute/markdown-parser. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude --- src/tools/message-tools.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/tools/message-tools.ts b/src/tools/message-tools.ts index ee216b9..c95c4af 100644 --- a/src/tools/message-tools.ts +++ b/src/tools/message-tools.ts @@ -1,5 +1,6 @@ import type { TelegramClient, Dialog, Message } from '@mtcute/bun'; import type { ToolInfo } from './index.js'; +import { md } from '@mtcute/markdown-parser'; export const messageTools: ToolInfo[] = [ { @@ -283,10 +284,16 @@ async function getRecentMessages(client: TelegramClient, args: any) { } function formatMessage(msg: Message) { + const textWithEntities = msg.textWithEntities; + const textMarkdown = textWithEntities.entities && textWithEntities.entities.length > 0 + ? md.unparse(textWithEntities) + : msg.text; + return { id: msg.id, date: msg.date, text: msg.text, + textMarkdown: textMarkdown, senderId: msg.sender.id, senderName: msg.sender.displayName || msg.sender.username || `User ${msg.sender.id}`, senderUsername: msg.sender.username,