# Измененная функция send_to_gpt с учетом работы с файлами и комментариями
async def send_to_gpt(user_id, user_message, file=None, filename=None, user_behavior=""):
    bot_message = last_bot_messages.get(user_id)

    # Если передан файл, обработаем его
    if file and filename:
        file_text = await handle_file(file, filename)
        user_message_content = f"{user_message}\n\nТекст файла:\n{file_text}"
    else:
        user_message_content = user_message
    
    is_search_request = user_message_content.lower().startswith("найти")

    if user_message and ("Нарисуй" in user_message or "Draw" in user_message):
        return  # Если есть ключевое слово, завершаем функцию

    if user_message is not None:
        for _ in range(len(providers) * 1):  # Два полных цикла по провайдерам
            try:
                # Отправляем сообщение "Думаю..." только если флаг "Думаю..." не установлен
                if user_id not in thinking_flags:
                    thinking_message_text = random.choice(randomm_messages)
                    thinking_message = await bot.send_message(user_id, thinking_message_text)
                    thinking_flags[user_id] = thinking_message.message_id
                await bot.send_chat_action(user_id, ChatActions.TYPING)
                
                # Получаем модель и провайдера
                if is_search_request:
                    provider = next(p for p in providers if p['name'].lower() == 'provider1')
                    model_name = 'gpt-4o+web'
                    user_message_content = user_message_content[5:].strip()  # Удаляем "Найти"
                else:
                    provider = providers[current_provider_index]
                    model_name = read_user_settings(user_id)  # Читаем выбранную модель из файла настроек
                
                behavior = load_behaviour_from_json(user_id) if user_behavior == "" else user_behavior

                # Подготавливаем историю сообщений
                messages = [{"role": "system", "content": behavior}]
                if bot_message:
                    messages.append({"role": "assistant", "content": bot_message})
                messages.append({"role": "user", "content": user_message_content})
                
                # Отправляем запрос в модель
                completion = client.chat.completions.create(
                    model=model_name, 
                    messages=messages,
                    max_tokens=4096
                )

                print(f"Запрос к {provider['name']}, {model_name}. Пользователь {user_id}.")
                
                modify_text = completion.choices[0].message.content
                bot_message = re.sub(r'
[a-zA-Z]+\n', '
\n', modify_text, flags=re.IGNORECASE)
                
                # Записываем сообщение бота
                log_message(bot_message, f"user_{user_id}", is_user=False)
                
                # Обновляем историю сообщений
                last_bot_messages[user_id] = bot_message

                # Если флаг был установлен, заменяем "Думаю..." на фактический ответ
                if user_id in thinking_flags:
                    await bot.edit_message_text(chat_id=user_id, message_id=thinking_flags[user_id], text=bot_message)
                    del thinking_flags[user_id]
                else:
                    # Разделяем и отправляем сообщение по частям, если оно длинное
                    parts = split_message(bot_message)
                    for part in parts:
                        await bot.send_message(user_id, part)
                
                return True
            except Exception as e:
                print(f"Ошибка: {e}")
                switch_provider()
                continue

    return False

# Список случайных сообщений
randomm_messages = [
    "💬Генерирую ваше сообщение!🐳\nБуква за буквой, ответ уже появляется и готовится отправиться к Вам.",
    "🚂Чу-чу, поезд с ответом уже отправился к вам!🚆\nФирменный поезд 'Эксперсс' уже спешит к Вам!",
    "☀️Создаю яркий ответ для Вас!🌺\nЛето чудесное время года! Ответ, словно одуванчик, летит уже к Вам!",
    "💫Ответ уже летит с другой галактики!🌌\nА вот и млечный путь! Уже совсем скоро Ваш ответ прилетит к Вам.",
]

Сделай пожалуйста чтобы вместо рандомных сообщений отправлялась анимация в виде думающих точек "." ".." "..." и так по кругу, после третьей точки снова переключение на одну и так по кругу. Важно! Чтобы после успешного ответа от бота, эти точки удалялись и присылался ответ от бота