如何使用Telethon从电报中获取图像字节



我正试图从我关注的电报频道中找到消息中包含的图像字节。然而,我不断收到消息媒体照片没有属性字节的错误。以下是相关的代码片段:

  if event.photo:
            id = event.message.to_id
            chat_username = client.get_entity(id)
            usr = chat_username.username
            image_base = event.message.media
            image_bytes = image_base.photo.bytes
            message = event.message.id
            url = ("https://t.me/" + str(usr) + "/" + str(message))
            print(url)
            print(image_bytes)

您必须首先使用download_media方法下载图像才能完成此操作。一个简单的Message对象没有该信息。

这最终对我有效:

photo_1 = Image.open(photo)
image_buf = BytesIO()
photo_1.save(image_buf, format="JPEG")
image = image_buf.getvalue()

我们可以使用python的io库中的BytesIO

from io import BytesIO
image_bytes = BytesIO()
event.message.download_media(image_bytes)

然后,我们在image_bytes中得到消息的图像字节。

相关内容

  • 没有找到相关文章

最新更新