C#开发Telegram Bot如何使用HTML格式?非重复问题
搞定TelegramBotSharp发送HTML格式消息的问题
嘿,我来帮你解决这个问题!你当前的代码没达到预期效果,主要是两个小问题:
- 你把HTML标签转义成了
<和>,但要让Telegram解析HTML格式,得直接写原生的<和>才行。 - 你传入的第三个布尔参数
true应该是开启Markdown模式的开关,不是HTML模式,所以Telegram只会把你的标签当成纯文本显示。
正确的做法是用支持指定解析模式的SendMessage重载,明确设置ParseMode为Html,同时直接用未转义的HTML标签:
MessageTarget target = (MessageTarget)update.Chat ?? update.From; if (Text.StartsWith("Hello")) { // 指定解析模式为Html,发送带链接的消息 bot.SendMessage(target, "Hello <a href='http://google.com'>dear</a>", parseMode: ParseMode.Html); }
补充几点小提示:
- Telegram只支持有限的HTML标签,比如
<a>(链接)、<b>(加粗)、<i>(斜体)、<code>(行内代码)这些,用了不支持的标签会被当成普通文本。 - 如果你的TelegramBotSharp版本里
SendMessage的参数顺序不一样,可能需要调整参数位置,比如有的版本需要加上disableWebPagePreview这类可选参数,根据实际的方法签名调整就好。
内容的提问来源于stack exchange,提问作者mojtaba.zamani
相关产品推荐
相关产品推荐

