Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -100,22 +100,6 @@ def generate_answer_with_groq(question, context, retries=3, delay=2):
|
|
100 |
except Exception as e:
|
101 |
return f"β οΈ Groq API Error: {e}"
|
102 |
|
103 |
-
# Twilio Automatically fetches and uses the latest active WhatsApp conversation SID
|
104 |
-
def get_latest_whatsapp_conversation_sid(account_sid, auth_token):
|
105 |
-
try:
|
106 |
-
client = Client(account_sid, auth_token)
|
107 |
-
conversations = client.conversations.v1.conversations.list(limit=20)
|
108 |
-
for convo in conversations:
|
109 |
-
messages = client.conversations.v1.conversations(convo.sid).messages.list(limit=10)
|
110 |
-
for msg in messages:
|
111 |
-
if msg.author.startswith("whatsapp:"):
|
112 |
-
return convo.sid
|
113 |
-
return None
|
114 |
-
except Exception as e:
|
115 |
-
st.error(f"β Error fetching conversation SID: {e}")
|
116 |
-
return None
|
117 |
-
|
118 |
-
|
119 |
# Twilio message fetch and send
|
120 |
def fetch_latest_incoming_message(account_sid, auth_token, conversation_sid):
|
121 |
client = Client(account_sid, auth_token)
|
@@ -150,20 +134,10 @@ if not all([account_sid, auth_token, GROQ_API_KEY]):
|
|
150 |
auth_token = st.text_input("Twilio Auth Token", type="password", value=auth_token or "")
|
151 |
GROQ_API_KEY = st.text_input("GROQ API Key", type="password", value=GROQ_API_KEY or "")
|
152 |
|
153 |
-
|
154 |
-
auto_detect = st.checkbox("π‘ Auto-detect Conversation SID", value=True)
|
155 |
-
|
156 |
-
if auto_detect:
|
157 |
-
conversation_sid = get_latest_whatsapp_conversation_sid(account_sid, auth_token)
|
158 |
-
if conversation_sid:
|
159 |
-
st.success(f"β
Using detected Conversation SID: `{conversation_sid}`")
|
160 |
-
else:
|
161 |
-
st.warning("β οΈ No active WhatsApp conversation found.")
|
162 |
-
else:
|
163 |
-
conversation_sid = st.text_input("Enter Conversation SID manually", value="")
|
164 |
|
165 |
enable_autorefresh = st.checkbox("π Enable Auto-Refresh", value=True)
|
166 |
-
interval_seconds = st.selectbox("Refresh Interval (seconds)", options=[5, 10, 15, 30, 60], index=
|
167 |
|
168 |
if enable_autorefresh:
|
169 |
st_autorefresh(interval=interval_seconds * 1000, key="auto-refresh")
|
|
|
100 |
except Exception as e:
|
101 |
return f"β οΈ Groq API Error: {e}"
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
# Twilio message fetch and send
|
104 |
def fetch_latest_incoming_message(account_sid, auth_token, conversation_sid):
|
105 |
client = Client(account_sid, auth_token)
|
|
|
134 |
auth_token = st.text_input("Twilio Auth Token", type="password", value=auth_token or "")
|
135 |
GROQ_API_KEY = st.text_input("GROQ API Key", type="password", value=GROQ_API_KEY or "")
|
136 |
|
137 |
+
conversation_sid = st.text_input("Enter Conversation SID", value="")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
enable_autorefresh = st.checkbox("π Enable Auto-Refresh", value=True)
|
140 |
+
interval_seconds = st.selectbox("Refresh Interval (seconds)", options=[5, 10, 15, 30, 60], index=1)
|
141 |
|
142 |
if enable_autorefresh:
|
143 |
st_autorefresh(interval=interval_seconds * 1000, key="auto-refresh")
|