首页 > 解决方案 > 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()

标签: pythontelethon

解决方案


你需要把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")

推荐阅读