last day (17 days later) » 

5:32 PM
2
Q: Filtrar fotos en mensajes recibidos

PeisouTengo un objeto de este estilo: Photo(id=5924547402604326962, access_hash=-1452612593240030360, date=datetime.datetime(2019, 1, 22, 10, 42, 34, tzinfo=datetime.timezone.utc), sizes=[PhotoCachedSize(type='s', location=FileLocation(dc_id=4, volume_id=446734678, local_id=468847, secret=-1661809606...

 
No puedo probarlo aqui, pero creo que en lugar de imread(), que espera como parámetro un nombre de fichero, puedes usar imdecode(), al que puedes pasar un array de bytes con la imagen "ya leida". En tu caso cv2.imdecode(photo.bytes), supongo
 
Gracias por contestar @abulafia he probado lo que me dijiste, de distintas maneras, y me tira nuevos errores eso si. Edito
 
Sospecho que has hecho foto = event.original_update.message.photo en lugar de foto = event.original_update.message.photo.bytes como yo había puesto. Dices que es que la clase Photo no tiene el atributo bytes. ¿Cómo lo sabes? ¿Puedes darme un enlace a alguna documentación? Al imprimir la variable te sale eso de Photo(id=5924547402604326962,etc...) que tiene toda la pinta de ser una namedtuple y ahí sí que muestra un campo llamado bytes. Aunque si es una namedtuple no puedes cambiarle el valor asignando otro, pero ese es otro problema. De momento responde a esto.
 
Entiendo lo que me dices, yo tambien veo lo de bytes en el print, pero ahi te he puesto el error, ya que si pongo .bytes no sale nada, y me sale ese error
 
Ok, pero esa clase Photo ¿de dónde sale? ¿Qué librería la implementa? ¿Hay documentación? He buscado entre la documentación de telethon, pero no hay documentación sobre Photo. Si tú tampoco sabes de dónde viene, puedes probar a hacer print(type(event.original_update.message.photo)) a ver si en la representación de la clase aparece el nombre del fichero del cual es importada. También puedes hacer print(dir(event.original_update.message.photo)) para ver un listado de sus atributos y métodos, a ver si alguno de ellos sugiere cómo obtener los bytes.
 
5:32 PM
@abulafia edito que no me cabe en el comentario los prints. Gracias
@abulafia veo que en print dir, sale un" _ bytes _", sera que lo estoy llamando mal ?
 
Me tiene mejor pinta .serialize_bytes()
No, mejor prueba foto = bytes(event.original_update.message.photo.photo)
 

  last day (17 days later) »