【问题标题】:Download all files from a Telegram channel从 Telegram 频道下载所有文件
【发布时间】:2018-05-17 07:03:42
【问题描述】:
我知道如何使用Telethon 的get_message_history 方法获取所有短信,但我想知道是否有办法下载在 Telegram 频道中发送的所有文件。
msgs = client.get_message_history('a_channel', limit=10000)
for msg in msgs:
print(msg)
【问题讨论】:
标签:
python
telegram
telethon
【解决方案1】:
我希望这段代码对您有所帮助。我使用了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)