Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -3974,34 +3974,22 @@ async def handle_voice_message_complete(from_number: str, msg: dict):
|
|
3974 |
logger.info(f"[Voice] Reply language set to: {reply_language}")
|
3975 |
|
3976 |
# Check if this is a greeting in voice note (check both original and translated)
|
|
|
|
|
3977 |
if is_greeting(transcribed_text) or is_greeting(processing_text):
|
3978 |
logger.info(f"[Voice] Greeting detected in voice note: {transcribed_text}")
|
3979 |
-
|
3980 |
-
# Check if user is currently in AI chat mode - if so, don't trigger menu mode
|
3981 |
-
user_context = context_manager.get_context(from_number)
|
3982 |
-
current_state = user_context.get('current_state', 'main_menu')
|
3983 |
-
|
3984 |
if current_state == 'ai_chat_mode':
|
3985 |
logger.info(f"[Voice] User is in AI chat mode, treating greeting as AI query instead of menu trigger")
|
3986 |
-
# Treat greeting as a general query in AI chat mode
|
3987 |
await handle_general_query_with_ai(from_number, processing_text, user_context, reply_language)
|
3988 |
return
|
3989 |
else:
|
3990 |
-
# Only trigger menu mode if not in AI chat mode
|
3991 |
welcome_msg = generate_veterinary_welcome_message(from_number, user_context)
|
3992 |
send_whatsjet_message(from_number, welcome_msg)
|
3993 |
context_manager.update_context(from_number, current_state='main_menu', current_menu='main_menu', current_menu_options=list(MENU_CONFIG['main_menu']['option_descriptions'].values()))
|
3994 |
return
|
3995 |
-
|
3996 |
-
|
3997 |
-
|
3998 |
-
await process_incoming_message(from_number, {
|
3999 |
-
'body': processing_text, # Use translated text for processing
|
4000 |
-
'type': 'text',
|
4001 |
-
'reply_language': reply_language,
|
4002 |
-
'original_transcription': transcribed_text, # Keep original for context
|
4003 |
-
'is_voice_message': True # Flag to indicate this came from voice
|
4004 |
-
})
|
4005 |
|
4006 |
except Exception as e:
|
4007 |
logger.error(f"[Voice] Error processing voice message: {e}")
|
|
|
3974 |
logger.info(f"[Voice] Reply language set to: {reply_language}")
|
3975 |
|
3976 |
# Check if this is a greeting in voice note (check both original and translated)
|
3977 |
+
user_context = context_manager.get_context(from_number)
|
3978 |
+
current_state = user_context.get('current_state', 'main_menu')
|
3979 |
if is_greeting(transcribed_text) or is_greeting(processing_text):
|
3980 |
logger.info(f"[Voice] Greeting detected in voice note: {transcribed_text}")
|
|
|
|
|
|
|
|
|
|
|
3981 |
if current_state == 'ai_chat_mode':
|
3982 |
logger.info(f"[Voice] User is in AI chat mode, treating greeting as AI query instead of menu trigger")
|
|
|
3983 |
await handle_general_query_with_ai(from_number, processing_text, user_context, reply_language)
|
3984 |
return
|
3985 |
else:
|
|
|
3986 |
welcome_msg = generate_veterinary_welcome_message(from_number, user_context)
|
3987 |
send_whatsjet_message(from_number, welcome_msg)
|
3988 |
context_manager.update_context(from_number, current_state='main_menu', current_menu='main_menu', current_menu_options=list(MENU_CONFIG['main_menu']['option_descriptions'].values()))
|
3989 |
return
|
3990 |
+
# For all other cases, always pass to OpenAI for intelligent response
|
3991 |
+
await handle_general_query_with_ai(from_number, processing_text, user_context, reply_language)
|
3992 |
+
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3993 |
|
3994 |
except Exception as e:
|
3995 |
logger.error(f"[Voice] Error processing voice message: {e}")
|