首先,您需要像这样导入 ParseMode 来自 telegram:
from telegram import ParseMode
然后,您只需指定parse_mode=ParseMode.HTML。这是一个工作示例:
def jordan(bot, update):
chat_id = update.message.chat.id
with open('JordanPeterson.jpg', 'rb') as jordan_picture:
caption = "<a href='https://twitter.com/jordanbpeterson'>Jordan B. Peterson</a>"
bot.send_photo(
chat_id,
photo=jordan_picture,
caption=caption,
parse_mode=ParseMode.HTML
)
我们可以看到它有效:
更新:实际上,parse_mode='html'(正如@slackmart 所建议的)和parse_mode='HTML' 你曾经为我工作!
另一个更新(根据您的comment):您可以使用多个标签。这是一个例子,hyperlink、bold 和 italic:
另一个更新:关于你的comment:
...我对 HTML 标签有什么限制吗?我不能使用 <img> 或 <br> 之类的东西来画线
老实说,
我就是这么做的!
现在您正在尝试使用HTML 格式化图像的标题,这意味着您正在格式化text,所以很明显,您不能使用“类似@ 987654345@。”它必须是“text formatting tag”(加上<a>)。甚至不是全部!我相信你只能使用这些:<a>、<b>、<strong>、<i> 和<em>。
如果你尝试使用像<del> 这样的文本格式标签,它会给你这个错误:
无法解析实体:不支持在字节偏移 148 处开始标记“del”
真可惜! 我希望能够在图像的标题中做这样的事情。或者这样的事情!