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