Я сейчас использую приведенный ниже код для загрузки изображений, которые отправляются моему боту. Однако недостатком этого инструмента является то, что фото , отправленные в виде файлов , являются единственными, которые извлекаются и загружаются в мою локальную папку. Что я могу сделать, чтобы бот мог получать и скачивать изображения отправленные как фотографии
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
def start(update,context):
update.message.reply_text("Hi! Welcome to tutorial")
def message(update,context):
update.message.reply_text(update.message.text.upper())
def command_handler(update,context):
upper.message.reply_text(f"Command: {update.message.text}")
def receive_image(update,context):
try:
obj = context.bot.getFile(file_id=update.message.photo.file_id)
obj.download()
update.message.reply_text("File has been downloaded")
except Exception as e:
print(str(e))
def receive_audio(update,context):
try:
audio_obj = context.bot.getFile(file_id=update.message.audio.file_id)
audio_obj.download()
update.message.reply_text("your audio has been processed")
except Exception as e:
print(str(e))
def main():
updater = Updater(token=TOKEN,use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start",start))
dp.add_handler(MessageHandler(Filters.text,message))
dp.add_handler(MessageHandler(Filters.command,command_handler))
dp.add_handler(MessageHandler(Filters.audio,receive_audio))
dp.add_handler(MessageHandler(Filters.photo,receive_image))
updater.start_polling()
updater.idle()
if __name__ == "__main__":
main()