2

我确实知道如何使用Telethonget_message_history的方法获取所有短信,但我想知道是否有办法下载在 Telegram 频道中发送的所有文件。

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

for msg in msgs:
    print(msg)
4

1 回答 1

3

我希望这段代码对你有帮助。我用过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)
于 2018-05-16T23:03:42.997 回答