如何使用Telethon编辑Telegram消息(含图片等附件修改)
Telethon修改消息附件的实现方法
修改消息内的图片或其他类型附件,依然可以通过你已经熟悉的edit_message方法完成,只需要额外传入file参数即可,原有附件会被直接替换,也可以同步修改消息文本内容。
常用场景代码示例
1. 仅替换附件,保留原有消息文本
from telethon import TelegramClient # 客户端初始化逻辑和你之前使用的一致,此处省略 client = TelegramClient('你的会话名称', api_id, api_hash) async def replace_message_media(): await client.edit_message( entity=目标会话ID, # 可传入用户名、群组ID、频道ID等合法会话标识 message=要修改的消息ID, file="新附件的本地路径.jpg" # 支持本地文件路径、BytesIO流、已上传的媒体对象 ) with client: client.loop.run_until_complete(replace_message_media())
2. 同时替换附件和消息文本
新增text参数即可同步修改文本内容:
await client.edit_message( entity=目标会话ID, message=要修改的消息ID, text="修改后的新消息文本", file="新的附件文件.pdf" )
3. 删除消息附件仅保留文本
把file参数设置为None即可:
await client.edit_message( entity=目标会话ID, message=要修改的消息ID, file=None )
注意事项
- 单条消息仅支持挂载单个附件的平台限制依然生效,替换时也只能传入一个附件
- 大文件替换的耗时和正常发送文件一致,需等待方法执行完成再关闭客户端连接
- 如果替换为已经上传过的媒体,可直接传入对应
InputMedia对象,无需重复上传节省流量
内容的提问来源于stack exchange,提问作者aab137
相关产品推荐
相关产品推荐

