File size: 839 Bytes
985f3ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from fastapi import APIRouter, HTTPException
from backend.app.schemas.webhook import ActiveLearningWebhookPayload
from backend.app.services.active_learning_service import ActiveLearningService

router = APIRouter()


@router.post("/webhook/telegram")
@router.post("/api/v1/webhook")
async def telegram_webhook_endpoint(payload: ActiveLearningWebhookPayload):
    try:
        active_learning = ActiveLearningService(tenant_id=payload.tutor_id or "arun")
        success = active_learning.process_incoming_owner_reply(
            session_id=payload.session_id,
            question=payload.user_question,
            answer=payload.owner_answer,
        )
        return {"status": "success" if success else "failed", "session_id": payload.session_id}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))