CiscsoPonce commited on
Commit
d05bb9b
Β·
1 Parent(s): c6eeb7c

fix: routing flow for AUTO and Social Scout to correctly process tickers

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -30,19 +30,18 @@ async def main(message: cl.Message):
30
  await cl.Message(content="❌ No trending data.").send()
31
  return
32
  await cl.Message(content=f"πŸ”₯ **Hot List:** {', '.join(tickers)}").send()
33
- return
34
 
35
  # 2. HANDLE SOCIAL SCOUT
36
- if user_input.startswith("@"):
37
  handle = user_input.replace("@", "")
38
  await cl.Message(content=f"πŸ•΅οΈβ€β™‚οΈ Scouting **@{handle}**...").send()
39
  tickers = await cl.make_async(fetch_tickers_from_social)(handle)
40
  if not tickers:
41
  await cl.Message(content="❌ No tickers found.").send()
42
- return
43
 
44
  # 🚨 3. BULLETPROOF CHAT ROUTING (If it has a space, it is a chat)
45
- if " " in user_input:
46
  await cl.Message(content="πŸ’¬ **Consulting Senior Broker...**").send()
47
  try:
48
  config = {"configurable": {"thread_id": "ui_session"}}
@@ -55,13 +54,14 @@ async def main(message: cl.Message):
55
  return
56
 
57
  # 4. HANDLE SINGLE OR COMMA-SEPARATED TICKERS
58
- # Don't replace spaces natively, only commas if multiple tickers are passed
59
- raw_list = user_input.upper().replace(",", " ").split()
60
- tickers = [t for t in raw_list if len(t) <= 5 and t.isalpha()]
61
-
62
- # If no valid tickers were found but it wasn't a chat message (no spaces), try the raw input
63
- if not tickers and " " not in user_input:
64
- tickers = [user_input.upper()]
 
65
 
66
  for ticker in tickers:
67
  await cl.Message(content=f"--- πŸ”Ž **Processing:** {ticker} ---").send()
 
30
  await cl.Message(content="❌ No trending data.").send()
31
  return
32
  await cl.Message(content=f"πŸ”₯ **Hot List:** {', '.join(tickers)}").send()
 
33
 
34
  # 2. HANDLE SOCIAL SCOUT
35
+ elif user_input.startswith("@"):
36
  handle = user_input.replace("@", "")
37
  await cl.Message(content=f"πŸ•΅οΈβ€β™‚οΈ Scouting **@{handle}**...").send()
38
  tickers = await cl.make_async(fetch_tickers_from_social)(handle)
39
  if not tickers:
40
  await cl.Message(content="❌ No tickers found.").send()
41
+ return
42
 
43
  # 🚨 3. BULLETPROOF CHAT ROUTING (If it has a space, it is a chat)
44
+ elif " " in user_input:
45
  await cl.Message(content="πŸ’¬ **Consulting Senior Broker...**").send()
46
  try:
47
  config = {"configurable": {"thread_id": "ui_session"}}
 
54
  return
55
 
56
  # 4. HANDLE SINGLE OR COMMA-SEPARATED TICKERS
57
+ else:
58
+ # Don't replace spaces natively, only commas if multiple tickers are passed
59
+ raw_list = user_input.upper().replace(",", " ").split()
60
+ tickers = [t for t in raw_list if len(t) <= 5 and t.isalpha()]
61
+
62
+ # If no valid tickers were found but it wasn't a chat message (no spaces), try the raw input
63
+ if not tickers and " " not in user_input:
64
+ tickers = [user_input.upper()]
65
 
66
  for ticker in tickers:
67
  await cl.Message(content=f"--- πŸ”Ž **Processing:** {ticker} ---").send()