如何使用Telethon将图像下载到我的本地PC

时间:2020-06-15 15:45:54

标签: python telegram telethon

我已经看到所有询问Telethon的条目,但没有一个回答我的问题。

我想获得什么? 我想将图像从电报频道下载到我的PC中

我到底做了什么? 我能够创建一个客户端并阅读包含图像的消息。但是,在我download_media之后,我不知道文件在哪里或如何继续。

注意:我不想使用任何BOT。

这是我的代码:

import configparser #read API credentials from a config file
import json         # dump data into JSON formatted files.

from telethon import TelegramClient
from telethon.errors import SessionPasswordNeededError

from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch
from telethon.tl.types import (PeerChannel)

from telethon.tl.functions.messages import (GetHistoryRequest)

from telethon import utils

#**************** CREATE TELEGRAM CLIENT ******************************
# Reading Configs
config = configparser.ConfigParser()
config.read("E:\TelegramBOT\config.ini")

# Setting configuration values
api_id = config['Telegram']['api_id']
api_hash = config['Telegram']['api_hash']

api_hash = str(api_hash)

phone = config['Telegram']['phone']
username = config['Telegram']['username'] 

# Log in to Telegram and create a client object to use for getting data
    # Create the client and connect
client = TelegramClient(username, api_id, api_hash)
client.start()
print("Client Created")
    # Ensure you're authorized
if not client.is_user_authorized():
    client.send_code_request(phone)
    try:
        client.sign_in(phone, input('Enter the code: '))
    except SessionPasswordNeededError:
        client.sign_in(password=input('Password: '))
async def main():
    # You can print the message history of any chat:
    async for message in client.iter_messages('<CHANNEL>'):
        print(message.sender.username, message.text)
        if not message.media == False:
            message.download_media(message.media, "E:\TelegramBOT\Tips")

最后一行输出:

<coroutine object Message.download_media at 0x00000238F1E657C8>

问题是:如何保存/查看/下载该图像?

1 个答案:

答案 0 :(得分:0)

我不是这方面的专家,但我尝试了几次就得到了这个结果。

await client.download_media(message.media,"/save_path")

如果您不输入 save_path,它会将其保存在您当前的目录中。

希望它能解决您的问题。