如何在telethon-1.27.0中发送带剧透效果的图片?
解决Telethon 1.27.0发送带剧透效果图片的问题
你遇到的问题是因为Telethon 1.27.0的send_message方法还没加入直接设置剧透的快捷参数,但底层的媒体对象已经支持spoiler属性,所以得手动构造带标记的媒体对象来发送:
- 先上传图片文件,获取上传后的媒体信息
- 构造
MessageMediaPhoto对象并开启spoiler标记 - 通过
send_message的media参数发送
具体代码示例:
from telethon.tl.types import MessageMediaPhoto, InputPhoto # 上传目标图片 uploaded_photo = await client.upload_file("/something.png") # 构造InputPhoto对象(用于引用上传后的图片) input_photo = InputPhoto( id=uploaded_photo.id, access_hash=uploaded_photo.access_hash, file_reference=uploaded_photo.file_reference ) # 创建带剧透标记的媒体对象 spoiler_media = MessageMediaPhoto(photo=input_photo, spoiler=True) # 发送带剧透的图片消息 await client.send_message(user, media=spoiler_media)
这样发送后,返回的Message对象里media字段的spoiler值就会是True,图片也会以剧透形式显示。
内容的提问来源于stack exchange,提问作者s0rry
相关产品推荐
相关产品推荐

