python - Telethon 消息回复和个人资料照片下载不起作用
问题描述
我从电视马拉松网站复制了这些代码。但是,当我在个人的私人页面上使用命令“.save”时,为什么会发生个人资料照片没有登陆的情况?
from telethon import TelegramClient, events
client = TelegramClient('xxx', api_id, api_hash)
@client.on(events.NewMessage(outgoing=True, pattern=r'\.save'))
async def handler(event):
if event.is_reply:
replied = await event.get_reply_message()
sender = replied.sender
await client.download_profile_photo(sender)
await event.respond('Saved your photo {}'.format(sender.username))
client.start()
client.run_until_disconnected()
解决方案
你需要把sender.id
作为参数放在等待中client.download_profile_photo
我使用类似的功能,它工作正常
@client.on(events.NewMessage(outgoing=True, pattern=("\+pet")))
async def pet(event):
reply = await event.get_reply_message()
await event.delete()
pic = await client.download_profile_photo(reply.sender_id)
petpet.make(pic, "res.gif")
await reply.reply(file="res.gif")
推荐阅读
- awk - awk 将一列转置为多个具有空值的未知列
- windows - 使用 wsl2 和 docker 在 Windows 10 上运行网络模式“主机”
- angularjs - 模块“myApp”不可用 AngularJS 教程
- xamarin - xamarin.essentials.connectivity.NetworkAccess
- c# - 异步尝试捕获 - 异常变量为空
- javascript - 将对象数组转换为对象数组?
- openshift - 使用 Openshift 和 Quarkus 的微服务之间的通信
- angular - Angular 远程加载模块不会将入口组件加载到视图中
- mysql - 选择每月和每年平均销售额的最佳方法
- python - 根据条件更改列表列表的元素