Dav*_*Con 6 html c# markdown telegram-bot
我正在用 C# 开发一个电报机器人。使用类TelegramBotClient在Telegram.Bot库中。
我想SendTextMessageAsync使用 HTML 选项发送消息。在官方文档(https://core.telegram.org/bots/api#markdown-style)中,我可以看到:
string texto = @"<b>bold</b>, <strong> bold </strong>" +
@"<i> italic </i>, <em> italic </em>" +
@"<a href = 'http://www.example.com/'> inline URL </a>" +
@"<a href = 'tg://user?id=123456789'> inline mention of a user</a>" +
@"<code> inline fixed-width code </code>" +
@"<pre> pre - formatted fixed-width code block</pre>";
Bot.SendTextMessageAsync(chatId: id_chat,
text: texto,
parseMode: ParseMode.HTML);
Run Code Online (Sandbox Code Playgroud)
它正常工作,但我想使用“新行”和“列表”。我在电报官方通知上看到过它们,就像这张照片一样:
我试过<br>, </br>, <br/>……等等。
但我已经得到
Telegram.Bot.Exceptions.ApiRequestException:'错误请求:无法解析实体:字节偏移量为 36 的意外结束标记
有谁知道是否可以做到?
另外如果可以的话联系一个电话号码?
如果您阅读文档中 html-examples 下面的下一段,您可以看到它说only the tags mentioned mentioned above are currently supported.
因此,我建议您使用 markdown,因为这种解析方式没有提到任何限制。MD 中的换行是通过 或 实现two spaces的<br/>。MD 中的列表可以通过*, + or -在列表项前面使用来创建,有关更多信息,请参阅有关 MD 的文档。
对于问题的第二部分,Telegram 电话应用程序会自动突出显示电话号码,但桌面客户端没有此类功能,并且 API/库中没有内置方式。此外,它仅适用于 0-200 个字符范围内的消息,如下所述: 如何使电话号码成为 Telegram Bot 中的链接?