DigitalDan / utils /tool_calls.py
HallD's picture
Upload 31 files
ad7b82e verified
raw
history blame
1.67 kB
import json
import os
import requests
from utils.app_logging import setup_logging
logger = setup_logging()
def push(text):
"""Send a Pushover notification.
Args:
text: The message text to send.
"""
try:
logger.info(f"Sending Pushover notification: {text}")
requests.post(
"https://api.pushover.net/1/messages.json",
data={
"token": os.getenv("PUSHOVER_TOKEN"),
"user": os.getenv("PUSHOVER_USER"),
"message": text,
},
timeout=10,
)
except Exception as e:
# Silently ignore notification failures to avoid impacting UX
logger.error(f"Failed to send Pushover notification: {e}")
pass
def record_user_details(email, name="Name not provided", notes="not provided"):
"""Record a user's contact details via push notification.
Args:
email: The user's email address.
name: The user's name, if provided.
notes: Additional context to record.
Returns:
A dictionary indicating success, e.g., {"recorded": "ok"}.
"""
logger.info(f"Recording {name} with email {email} and notes {notes}")
push(f"Recording {name} with email {email} and notes {notes}")
return {"recorded": "ok"}
def record_unknown_question(question):
"""Record an unanswered user question via push notification.
Args:
question: The question that couldn't be answered.
Returns:
A dictionary indicating success, e.g., {"recorded": "ok"}.
"""
logger.info(f"Recording {question}")
push(f"Recording {question}")
return {"recorded": "ok"}