Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Python > python telethon как взять фотографию из профиля?


Автор: Прилепский Дмитрий 28.08.20, 10:02
У меня такая проблема. Я только начал работать с api telegram. Но я в упор не понимаю документацию telethon. Я хочу взять ники и фото людей из канала. Для этого я написал такой код:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    client = TelegramClient(username, api_id, api_hash)
     
    async def dump_all_participants(channel) -> list:
        offset_user = 0
        limit_user = 100
     
        all_participants = []
        filter_user = ChannelParticipantsSearch('')
     
        while True:
            participants = await client(GetParticipantsRequest(channel,
                filter_user, offset_user, limit_user, hash=0))
            if not participants.users:
                break
            all_participants.extend(participants.users)
            offset_user += len(participants.users)
     
        all_users_details = []
     
        for participant in all_participants:
            if participant.photo is None:
                photo = UNKNOWN.STRING
            else:
                photo = participant.photo
            all_users_details.append({participant.id: [participant.username, photo]})
        return all_users_details

Но в фото мне прилетает тип:
UserProfilePhoto (photo_id = 208135253786732667, photo_small = FileLocationToBeDeprecated (volume_id = 257125342, local_id = 230348), photo_big = FileLocationToBeDeprecated (volume_id = 257125342, local_id = 257125342, local_id = 257125342, local_id = 257125342)
как мне вынуть оттуда ссылочку на фото?
Я пытался понять документацию и мне кажется, что я должен использовать InputPhoto. Но как? Или я не прав и есть другой способ взять из этого типа фото?

Автор: Seriy-Coder 13.10.21, 05:11
Привет! Не это ли нужно?)

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)