v8
This commit is contained in:
parent
26e52deb33
commit
1bd025b08b
Binary file not shown.
Binary file not shown.
@ -4,7 +4,8 @@ from . import views
|
||||
urlpatterns = [
|
||||
path('', views.home, name='home'),
|
||||
path('dashboard/', views.dashboard, name='dashboard'),
|
||||
path('dashboard/webhook', views.webhook, name='webhook'),
|
||||
path('dashboard/webhook/', views.webhook, name='webhook_dashboard'),
|
||||
path('webhook/', views.webhook, name='webhook'),
|
||||
path('fanpages/', views.fanpage_list, name='fanpage_list'),
|
||||
path('flows/', views.flow_list, name='flow_list'),
|
||||
]
|
||||
]
|
||||
@ -92,6 +92,7 @@ def handle_webhook_event(data):
|
||||
Main entry point for processing Facebook webhook POST data.
|
||||
"""
|
||||
if data.get('object') != 'page':
|
||||
logger.info(f"Webhook event received but 'object' is not 'page': {data.get('object')}")
|
||||
return
|
||||
|
||||
for entry in data.get('entry', []):
|
||||
@ -99,6 +100,8 @@ def handle_webhook_event(data):
|
||||
sender_id = messaging_event.get('sender', {}).get('id')
|
||||
recipient_id = messaging_event.get('recipient', {}).get('id')
|
||||
|
||||
logger.info(f"Processing messaging event: sender={sender_id}, recipient={recipient_id}")
|
||||
|
||||
if not sender_id or not recipient_id:
|
||||
continue
|
||||
|
||||
@ -118,6 +121,7 @@ def handle_webhook_event(data):
|
||||
message_text = messaging_event['postback'].get('payload', "")
|
||||
|
||||
if not message_text:
|
||||
logger.info("No message text or postback payload found in event.")
|
||||
continue
|
||||
|
||||
# 3. Get or Create Session
|
||||
@ -132,13 +136,13 @@ def handle_webhook_event(data):
|
||||
sender_type='user',
|
||||
message_text=message_text
|
||||
)
|
||||
logger.info(f"Logged user message: {message_text[:20]}...")
|
||||
|
||||
# 5. Determine Next Node
|
||||
next_node = get_next_node(session, message_text)
|
||||
|
||||
if next_node:
|
||||
# 6. Send Flow Reply
|
||||
# Always log the attempt and update session for dev visibility
|
||||
bot_text = next_node.content.get('text', '[Non-text message]')
|
||||
MessageLog.objects.create(
|
||||
session=session,
|
||||
@ -152,6 +156,7 @@ def handle_webhook_event(data):
|
||||
|
||||
# Actual delivery attempt
|
||||
send_fb_message(sender_id, fanpage.access_token, next_node.content)
|
||||
logger.info(f"Sent flow reply: {bot_text[:20]}...")
|
||||
else:
|
||||
# 9. Trigger AI Fallback
|
||||
ai_reply_text = get_ai_fallback_response(message_text, session)
|
||||
@ -165,3 +170,4 @@ def handle_webhook_event(data):
|
||||
|
||||
# Actual delivery attempt
|
||||
send_fb_message(sender_id, fanpage.access_token, {"text": ai_reply_text})
|
||||
logger.info(f"Sent AI fallback reply: {ai_reply_text[:20]}...")
|
||||
Loading…
x
Reference in New Issue
Block a user