telethon-secret-chat icon indicating copy to clipboard operation
telethon-secret-chat copied to clipboard

Corrupted file video and half image being loaded

Open 0tanvi00 opened this issue 6 months ago • 1 comments

for small size image this thing works but for larger size it fails

import os
import asyncio
from telethon import TelegramClient
from telethon_secret_chat import SecretChatManager
from telethon_secret_chat.secret_sechma.secretTL import DecryptedMessageMediaPhoto, DecryptedMessageMediaVideo
phone_number = os.getenv("tg_number")
client = TelegramClient(os.getenv("tg_session_name"), os.getenv("tg_api_id"), os.getenv("tg_api_hash"))


async def downloader(event):
    
    if event.decrypted_event.media is None:
        return

    if isinstance(event.decrypted_event.media, DecryptedMessageMediaPhoto):
        file_name = 'see.jpg'
    elif isinstance(event.decrypted_event.media, DecryptedMessageMediaVideo):
        file_name = 'see.mp4'
    else:
        file_name = 'see.unknown' 

    print(f"Processing {file_name}")

    cache = await manager.download_secret_media(event.decrypted_event)

    with open(f"./{file_name}", "wb") as f:
        f.write(cache)
        f.close()


async def new_chat(chat, created_by_me):
    if created_by_me:
        print(f"User {chat} has accepted our secret chat request")
    else:
        print(f"We have accepted the secret chat request of {chat}")

manager = SecretChatManager(client, auto_accept=True, new_chat_created=new_chat)
manager.add_secret_event_handler(func=downloader)



async def main():
    await client.start(phone_number)
    print("Connected to Telegram \/")

    await client.run_until_disconnected()

asyncio.get_event_loop().run_until_complete(main())

0tanvi00 avatar Aug 18 '24 07:08 0tanvi00