Fed*_*ico 7 python bots telegram python-telegram-bot telegram-bot
我正在尝试使用 Telegram API 的send_photo()方法在带有机器人的频道中发送消息。它需要一个标题参数(类型String),但我无法通过parse_mode='HTML'参数格式化它...
如果我使用这样的东西:
send_photo(chat_id, photo, caption="<b>Some text</b>", parse_mode='HTML')
Run Code Online (Sandbox Code Playgroud)
它发送消息但没有任何格式。有人知道为什么吗?谢谢
Ami*_*ani 10
首先,你需要导入 ParseMode 从 telegram这样的:
from telegram import ParseMode
Run Code Online (Sandbox Code Playgroud)
然后,您只需要指定parse_mode=ParseMode.HTML. 这是一个工作示例:
from telegram import ParseMode
Run Code Online (Sandbox Code Playgroud)
我们可以看到它的工作原理:
更新:实际上,两者parse_mode='html'(如@slackmart所建议的)和parse_mode='HTML'您使用自己的工作都为我工作!
另一个更新(根据您的评论):您可以使用多个标签。这里有一个的例子,有hyperlink,bold和italic:
另一个更新:关于您的评论:
...我对 HTML 标签有什么限制吗?我不能使用类似
<img>或<br>画线的东西
诚实地,
这就是我所做的!
现在您正在尝试格式化图像的标题,使用HTML,这意味着您正在格式化 a text,因此很明显,您不能使用“类似<img>.”的内容。它必须是“文本格式标记”(加号<a>)。甚至不是全部!我相信你只能使用这些:<a>,<b>, <strong>,<i>和<em>。
如果您尝试使用像 那样的文本格式标记<del>,则会出现以下错误:
无法解析实体:在字节偏移 148 处不受支持的起始标记“del”
这是一种耻辱! 我希望能够在图像的标题中做这样的事情。或类似的东西!