ciyidogan commited on
Commit
d6fce0a
·
verified ·
1 Parent(s): 434925e

Update websocket_handler.py

Browse files
Files changed (1) hide show
  1. websocket_handler.py +23 -3
websocket_handler.py CHANGED
@@ -837,14 +837,34 @@ async def generate_and_stream_tts(
837
  log_info("🛑 TTS streaming cancelled", session_id=session.session.session_id)
838
  raise
839
  except Exception as e:
 
840
  log_error(
841
  f"❌ TTS generation error",
842
- error=str(e),
843
  traceback=traceback.format_exc(),
844
  session_id=session.session.session_id
845
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
846
  if session.is_websocket_active:
847
  await websocket.send_json({
848
- "type": "error",
849
- "message": f"TTS error: {str(e)}"
 
850
  })
 
837
  log_info("🛑 TTS streaming cancelled", session_id=session.session.session_id)
838
  raise
839
  except Exception as e:
840
+ error_msg = str(e)
841
  log_error(
842
  f"❌ TTS generation error",
843
+ error=error_msg,
844
  traceback=traceback.format_exc(),
845
  session_id=session.session.session_id
846
  )
847
+
848
+ # Quota hatası için özel handling
849
+ if "quota_exceeded" in error_msg:
850
+ if session.is_websocket_active:
851
+ await websocket.send_json({
852
+ "type": "tts_error",
853
+ "message": "TTS servisinin kredi limiti aşıldı. Yanıt sadece metin olarak gösterilecek.",
854
+ "error_type": "quota_exceeded"
855
+ })
856
+ else:
857
+ if session.is_websocket_active:
858
+ await websocket.send_json({
859
+ "type": "error",
860
+ "message": f"TTS error: {error_msg}"
861
+ })
862
+
863
+ # TTS hatası durumunda idle'a dön
864
+ await session.change_state(ConversationState.IDLE)
865
  if session.is_websocket_active:
866
  await websocket.send_json({
867
+ "type": "state_change",
868
+ "from": "processing_tts",
869
+ "to": "idle"
870
  })