Update app.py
Browse files
app.py
CHANGED
|
@@ -364,6 +364,13 @@ async def chatbot_response(request: Request, background_tasks: BackgroundTasks):
|
|
| 364 |
elif sentiment_score > 0.3:
|
| 365 |
sentiment_modifier = "Great to hear from you! "
|
| 366 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 367 |
# Check for specialized commands:
|
| 368 |
if "menu" in user_message.lower():
|
| 369 |
# Return menu with images and options for selection
|
|
@@ -389,10 +396,11 @@ async def chatbot_response(request: Request, background_tasks: BackgroundTasks):
|
|
| 389 |
background_tasks.add_task(log_chat_to_db, user_id, "outbound", str(response_payload))
|
| 390 |
return JSONResponse(content=response_payload)
|
| 391 |
|
|
|
|
|
|
|
| 392 |
# Handle dish selection for ordering
|
| 393 |
-
|
| 394 |
-
any(str(index) == user_message.strip() for index, item in enumerate(menu_items, start=1)):
|
| 395 |
-
# Extract the selected dish
|
| 396 |
selected_dish = None
|
| 397 |
if user_message.strip().isdigit():
|
| 398 |
# User selected by number
|
|
@@ -428,12 +436,7 @@ async def chatbot_response(request: Request, background_tasks: BackgroundTasks):
|
|
| 428 |
background_tasks.add_task(log_chat_to_db, user_id, "outbound", response_text)
|
| 429 |
return JSONResponse(content={"response": sentiment_modifier + response_text})
|
| 430 |
|
| 431 |
-
|
| 432 |
-
order_response = process_order_flow(user_id, user_message)
|
| 433 |
-
if order_response:
|
| 434 |
-
background_tasks.add_task(log_chat_to_db, user_id, "outbound", order_response)
|
| 435 |
-
return JSONResponse(content={"response": sentiment_modifier + order_response})
|
| 436 |
-
|
| 437 |
# For context-aware conversation: store conversation context
|
| 438 |
conversation_context.setdefault(user_id, []).append({"timestamp": datetime.utcnow().isoformat(), "message": user_message})
|
| 439 |
|
|
|
|
| 364 |
elif sentiment_score > 0.3:
|
| 365 |
sentiment_modifier = "Great to hear from you! "
|
| 366 |
|
| 367 |
+
# Check if this is an order flow request
|
| 368 |
+
order_response = process_order_flow(user_id, user_message)
|
| 369 |
+
if order_response:
|
| 370 |
+
background_tasks.add_task(log_chat_to_db, user_id, "outbound", order_response)
|
| 371 |
+
return JSONResponse(content={"response": sentiment_modifier + order_response})
|
| 372 |
+
|
| 373 |
+
|
| 374 |
# Check for specialized commands:
|
| 375 |
if "menu" in user_message.lower():
|
| 376 |
# Return menu with images and options for selection
|
|
|
|
| 396 |
background_tasks.add_task(log_chat_to_db, user_id, "outbound", str(response_payload))
|
| 397 |
return JSONResponse(content=response_payload)
|
| 398 |
|
| 399 |
+
|
| 400 |
+
|
| 401 |
# Handle dish selection for ordering
|
| 402 |
+
if any(item["name"].lower() in user_message.lower() for item in menu_items) or \
|
| 403 |
+
any(str(index) == user_message.strip() for index, item in enumerate(menu_items, start=1)): # Extract the selected dish
|
|
|
|
| 404 |
selected_dish = None
|
| 405 |
if user_message.strip().isdigit():
|
| 406 |
# User selected by number
|
|
|
|
| 436 |
background_tasks.add_task(log_chat_to_db, user_id, "outbound", response_text)
|
| 437 |
return JSONResponse(content={"response": sentiment_modifier + response_text})
|
| 438 |
|
| 439 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 440 |
# For context-aware conversation: store conversation context
|
| 441 |
conversation_context.setdefault(user_id, []).append({"timestamp": datetime.utcnow().isoformat(), "message": user_message})
|
| 442 |
|