es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Telethon, cliente.iter_dialogs muestra diálogos eliminados.

He estado utilizando Telethon durante bastante tiempo con mis propias credenciales de API y número de teléfono, sin embargo, recientemente decidí iniciar sesión en mi aplicación con el teléfono de mi hermano y noté algo extraño:


from telethon import TelegramClient, events, utils api_id = "something" api_hash = "something" client = TelegramClient('test', api_id, api_hash) async def main(): me = await client.get_me() print(me.stringify()); async for dialog in client.iter_dialogs(): print(dialog, "\n-----") with client: client.loop.run_until_complete(main())

Cuando ejecuto el código anterior con mi propio número de teléfono, no muestra un diálogo eliminado. Pero si lo ejecuto con el número de teléfono de otra persona, muestra el nombre del diálogo eliminado.

Por ejemplo: creo un diálogo, ejecuto el ejemplo anterior e inicio sesión con mi propio teléfono, el diálogo aparece. Luego, elimino el diálogo (usando la aplicación oficial de Android) y vuelvo a ejecutar el script anterior, el diálogo no aparece.
Sin embargo, si repito los pasos anteriores con el número de teléfono de otra persona, el diálogo eliminado aparecerá.

NOTA: aunque el diálogo aparece, los mensajes en el diálogo no lo hacen.

¿Este comportamiento es normal? ¿Qué me estoy perdiendo? Cualquier comentario será de gran ayuda.

====
EDIT====
Entonces, hice algunas investigaciones adicionales y descubrí que este comportamiento solo se aplica a los diálogos con mi propia cuenta, es decir, la cuenta que posee las credenciales de Telegram.

Básicamente, le pedí a mi hermano que eliminara un chat grupal y cuando ejecuté client.iter_dialogs, no estaba allí. Luego, le pedí que eliminara un diálogo con otra persona, ejecuté client.iter_dialogs y el diálogo no estaba allí.

Parece que Telegram tiene algún tipo de excepción solo para la cuenta que posee las credenciales (quizás entienden que necesitaré tenerla como una forma de comunicarme con mis clientes, tal vez sea solo un error).

====
EDIT 2====
Entonces, volví a ejecutar el script… y ahora no está sucediendo. No tengo idea de qué estaba sucediendo ni por qué, pero dejó de aparecer. Tal vez sea algo en la propia API de Telegram, pero no puedo estar seguro. De todos modos, si por alguna razón sucede en tu script, publica en este hilo o abre un problema en Telethon.

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el comportamiento observado por el usuario no es normal y puede estar relacionado con un error o excepción dentro de la API de Telegram. El problema solo apareció cuando el usuario inició sesión con su propia cuenta, y no cuando utilizó la cuenta de otra persona. Sin embargo, el problema parece haber dejado de ocurrir después de intentos adicionales de reproducirlo. Si el problema persiste, el usuario puede querer informarlo al equipo de Telethon o abrir un problema en su página de GitHub.

Comments are closed.