Telethon电报机器人内联查询如何同时添加图片与标题?
解决Telethon内联查询中图片与标题同时显示的问题
你遇到的问题核心是:builder.photo的text参数对应点击结果后发送的消息文本,并非内联结果列表里显示的标题;直接加title参数报错则是因为参数传递或调用方式有误。
修正方案:
方式一:使用Builder正确传递参数
明确指定title参数,同时不要设置include_media=False(该参数会切断媒体与结果的关联,导致标题无法正常绑定图片显示):
await event.answer([ builder.photo( path_to_local_jpeg_file, title='自定义标题', text='点击后发送的消息内容' ) ])
方式二:直接构造InlineQueryResultPhoto对象
如果Builder方式仍有问题,可直接使用Telethon的类型对象构造结果,控制更灵活:
from telethon.types import InlineQueryResultPhoto # 先将本地图片上传为Telethon可识别的媒体对象 input_photo = await client.upload_file(path_to_local_jpeg_file) # 构造内联查询结果,明确设置标题及其他属性 result = InlineQueryResultPhoto( id='unique_result_id', # 每个内联结果需要唯一ID photo=input_photo, title='自定义标题', description='可选的结果描述文本', caption='点击后发送的消息内容' ) await event.answer([result])
关键说明:
title是内联结果列表中显示的标题,必须单独指定text(或caption)是用户点击结果后发送到聊天的消息内容,和列表标题无关include_media=False会让结果仅保留文本、屏蔽媒体关联,因此不要设置该参数(默认值为True)
内容的提问来源于stack exchange,提问作者Wlad Kniażewski
相关产品推荐
相关产品推荐

