Как скачать аватарку пользователя telegram с помощью бота?
Пишу с помощью библиотеки telebot
Моя задача получить аватарку пользователя через телеграмм-бота и скачать её для дальнейшей обработки в библиотеке Pillow
(я это уточняю на случай, если есть возможность как-то интегрировать эти библиотеки)
У меня есть тестовый код, который работает для скачивания отправленной пользователем фотографии, только я попытался адаптировать её для скачивания его аватарки.
Я вывел данные фотографии профиля пользователя и получил это:
{'file_id': 'какой-то id', 'file_unique_id': 'AQAD68oxG4vJoEkB', 'width': 640, 'height': 640, 'file_size': 66835}.
Как видно, здесь нету нужного мне параметра file_path
, необходимого для скачивания.
Если кто знает, подскажите, возможно ли вообще сделать то, что я задумал? Если есть возможность сделать это, используя другую библиотеку для telegramm бота, то я готов её сменить.
Вот мой код:
import telebot
from random import randint as r
from telebot import types
from PIL import Image, ImageDraw, ImageFont
import os
token='TOKEN'
bot=telebot.TeleBot(token)
@bot.message_handler(content_types=['text', 'photo'])
def handle_docs_document(message):
file_photo = bot.get_user_profile_photos(message.from_user.id)
print(file_photo.photos[0][2])
file_name, file_extension = os.path.splitext(file_photo.file_path)
downloaded_file = bot.download_file(file_photo.file_path)
src = 'photos/' + message.photo[-1].file_id + '.jpg'
with open(src, 'wb') as new_file:
new_file.write(downloaded_file)
bot.infinity_polling()