mirror of
https://github.com/alfem/telegram-download-daemon.git
synced 2025-03-01 16:43:06 +08:00
Get filename even if it is not the first attribute
This commit is contained in:
parent
7996dfdeaf
commit
e994094cf2
1 changed files with 6 additions and 2 deletions
|
@ -8,7 +8,7 @@ from os import getenv
|
|||
from sessionManager import getSession, saveSession
|
||||
|
||||
from telethon import TelegramClient, events
|
||||
from telethon.tl.types import PeerChannel
|
||||
from telethon.tl.types import PeerChannel, DocumentAttributeFilename
|
||||
import logging
|
||||
|
||||
logging.basicConfig(format='[%(levelname) 5s/%(asctime)s]%(name)s:%(message)s',level=logging.WARNING)
|
||||
|
@ -40,12 +40,16 @@ proxy = None
|
|||
|
||||
async def sendHelloMessage(client, peerChannel):
|
||||
entity = await client.get_entity(peerChannel)
|
||||
print("Hi! Ready for you files!")
|
||||
await client.send_message(entity, "Hi! Ready for you files!")
|
||||
|
||||
async def log_respond(event, respond):
|
||||
print(respond)
|
||||
await event.respond(respond)
|
||||
|
||||
def getFilename(event: events.NewMessage.Event):
|
||||
return next(x for x in event.media.document.attributes if isinstance(x, DocumentAttributeFilename)).file_name
|
||||
|
||||
|
||||
with TelegramClient(getSession(), api_id, api_hash, proxy=proxy).start() as client:
|
||||
|
||||
|
@ -62,7 +66,7 @@ with TelegramClient(getSession(), api_id, api_hash, proxy=proxy).start() as clie
|
|||
print(event)
|
||||
|
||||
if event.media:
|
||||
filename=event.media.document.attributes[0].file_name
|
||||
filename=getFilename(event)
|
||||
await log_respond(event, f"Downloading file {filename} ({event.media.document.size} bytes)")
|
||||
|
||||
await client.download_media(event.message, downloadFolder)
|
||||
|
|
Loading…
Reference in a new issue