Для того чтобы получить и скачать файл .gif, отправленный пользователем в Telegram, вы можете использовать метод bot.download_file(file_path), где file_path - это путь к файлу, который вы получили из объекта сообщения.
В вашем коде, вместо message.animation[len(message.animation) - 1].file_id нужно использовать message.animation.file_id (или message.animation[-1].file_id, чтобы получить идентификатор файла .gif). Затем, вы можете использовать метод bot.download_file(file_path) для загрузки файла по его пути. Далее, вы можете сохранить его локально и обработать с помощью библиотеки MyQR.
Примерно такой код может получить и сохранить файл .gif, отправленный пользователем:
@bot.message_handler(content_types=['animation'])
def get_gif2(message):
file_id = message.animation.file_id
file_info = bot.get_file(file_id)
downloaded_file = bot.download_file(file_info.file_path)
src = str(message.from_user.id) + '.gif'
with open(src, 'wb') as new_file:
new_file.write(downloaded_file)
bot.reply_to(message, "Фото добавлено")
myqr.run(src)
with open(src, 'rb') as photo:
bot.send_animation(message.chat.id, photo)
get_menu(message)