繁体   English   中英

从电报频道下载所有文件

[英]Download all files from a Telegram channel

我确实知道如何使用Telethon的 get_message_history方法获取所有文本消息,但是我想知道是否可以下载在Telegram通道中发送的所有文件。

msgs = client.get_message_history('a_channel', limit=10000)

for msg in msgs:
    print(msg)

希望这段代码对您有所帮助。 我使用Telethon V0.19 ,但是以前的版本几乎相同。

get_message_history已过时,使用get_messages代替。

from telethon import TelegramClient

api_id = XXXXXXX
api_hash = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
phone_number = '+98XXXXXXXXX'
################################################
channel_username = 'tehrandb'
################################################

client = TelegramClient('session_name',
                    api_id,
                    api_hash)

assert client.connect()
if not client.is_user_authorized():
    client.send_code_request(phone_number)
    me = client.sign_in(phone_number, input('Enter code: '))

# ---------------------------------------
msgs = client.get_messages(channel_username, limit=100)
for msg in msgs.data:
    if msg.media is not None:
        client.download_media(message=msg)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM