привет! в следующем сообщении скину код моего телеграм бота. тебе нужно сделать улучшения и исправить ошибку: для моделей chatgpt-4o-latest, gpt-4-turbo, gpt-4o-mini от провайдера cablyai ( именно от него, для таких моделей от провайдера openai вроде сделано уже ) сделать так, чтобы они распознавали присланные им изображения и отвечали на них. вот что админ этого провайдера пишет человеку, который спросил у него насчёт этого: You can use the same format as the openai api on models that support vision
можешь также попробовать добавить поддержку обработки изображений и для моделей claude-3-5-sonnet-20241022 и claude-3-opus. но они от другой компании ( созданы не OpenAI, как перечисленные ранее, а Anthropic ) и это может не сработать! 
также: исправь ошибку которая возникает при попытке запустить бота.
Traceback (most recent call last):
  File "c:\Users\misha\OneDrive\Рабочий стол\meowbot\meow\meowalka! v0.4\meowalka! v0.3.8.py", line 604, in <module>
    async def start(update: Update, context: ContextTypes.DEFAULT.TYPE) -> None:
AttributeError: type object 'ContextTypes' has no attribute 'DEFAULT'
также: добавь в бота команду /limits, которая выведет пользователю информацию о его лимитах и оставшихся лимитах на сегодня ( лимиты дневные! убедись что в боте это реализовано. и реализуй как-нибудь сброс лимитов в 00:00 по московскому времени. ) также: добавь команду /clearlimits доступную лишь админу ( с id 5005816138 ) которая очистит все лимиты пользователей на сегодня. то есть если человек истратил свои запросы на сегодня к определенной модели или делал хоть один успешный запрос к лимитированной ( не имеющей тега infinite ) модели, после использования админом команды ему приходило сообщение от бота что лимиты были сброшены.
в этом сообщении я скину тебе код моего config.json для полного понимания бота. ключи и токены будут удалены оттуда. после получения сообщения, кода config.json и осмысливания всей информации напиши что готов получить код бота. после внесения изменений скинь мне строго полный код бота. постарайся код сразу оптимизировать, чтобы он стал меньше ( но не сильно! не удаляй никакие функции. он должен полностью сохранить работоспособность. )
{
  "telegram_token": "токен",
  "api_key": "ключcablyai",
  "openai_api_key": "ключopenai",
  "authorized_user_ids": [
      5005816138,
      7856892361,
      5643392602,
      7193906122,
      5075150336,
      1759650343
  ],
  "models": {
      "⚡️Claude 3.5 Sonnet": {
          "id": "claude-3-5-sonnet-20241022",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "Claude 3 Opus": {
          "id": "claude-3-opus",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "⚡️GPT-4o-latest": {
          "id": "chatgpt-4o-latest",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "GPT-4 Turbo": {
          "id": "gpt-4-turbo",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "GPT-4o mini": {
          "id": "gpt-4o-mini",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "💥o1-preview": {
          "id": "o1-preview",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "💥o1-mini": {
          "id": "o1-mini",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "LLaMA 3.1 405b": {
          "id": "llama-3.1-405b-turbo",
          "type": "multimodal",
          "provider": "cablyai"
      },
      "✨Flux 1.1 Pro": {
          "id": "FLUX.1.1 [pro]",
          "type": "image",
          "provider": "cablyai"
      },
      "Stable Diffusion 3.5": {
          "id": "sd3.5",
          "type": "image",
          "provider": "cablyai"
      },
      "⚡️GPT-4o-latest (openai)": {
          "id": "openai-chatgpt-4o-latest",
          "type": "multimodal",
          "provider": "openai"
      },
      "GPT-4 Turbo (openai)": {
          "id": "openai-gpt-4-turbo",
          "type": "multimodal",
          "provider": "openai"
      },
      "GPT-4o mini (openai)": {
          "id": "openai-gpt-4o-mini",
          "type": "multimodal",
          "provider": "openai"
      },
      "💥o1-preview (openai)": {
          "id": "openai-o1-preview",
          "type": "multimodal",
          "provider": "openai"
      },
      "💥o1-mini (openai)": {
          "id": "openai-o1-mini",
          "type": "multimodal",
          "provider": "openai"
      }
  },
  "system_instruction": "ты - хороший ассистент, готовый ответить на любой вопрос.",
  "user_limits": {
      "5005816138": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": "infinite",
          "o1-mini": "infinite",
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": "infinite",
          "openai-gpt-4-turbo": "infinite",
          "openai-gpt-4o-mini": "infinite",
          "openai-o1-preview": "infinite",
          "openai-o1-mini": "infinite"
      },
      "1759650343": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": 5,
          "o1-mini": 5,
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": 5,
          "openai-gpt-4-turbo": 5,
          "openai-gpt-4o-mini": 5,
          "openai-o1-preview": 5,
          "openai-o1-mini": 5
      },
      "7856892361": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": 5,
          "o1-mini": 5,
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": 5,
          "openai-gpt-4-turbo": 5,
          "openai-gpt-4o-mini": 5,
          "openai-o1-preview": 5,
          "openai-o1-mini": 5
      },
      "5643392602": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": 0,
          "o1-mini": 0,
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": 5,
          "openai-gpt-4-turbo": 5,
          "openai-gpt-4o-mini": 5,
          "openai-o1-preview": 0,
          "openai-o1-mini": 0
      },
      "7193906122": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": 0,
          "o1-mini": 0,
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": 5,
          "openai-gpt-4-turbo": 5,
          "openai-gpt-4o-mini": 5,
          "openai-o1-preview": 0,
          "openai-o1-mini": 0
      },
      "5075150336": {
          "claude-3-5-sonnet-20241022": "infinite",
          "claude-3-opus": "infinite",
          "chatgpt-4o-latest": "infinite",
          "gpt-4-turbo": "infinite",
          "gpt-4o-mini": "infinite",
          "o1-preview": 0,
          "o1-mini": 0,
          "llama-3.1-405b-turbo": "infinite",
          "FLUX.1.1 [pro]": "infinite",
          "sd3.5": "infinite",
          "openai-chatgpt-4o-latest": 5,
          "openai-gpt-4-turbo": 5,
          "openai-gpt-4o-mini": 5,
          "openai-o1-preview": 0,
          "openai-o1-mini": 0
      }
  },
  "limit_reset_time": "00:00"
}