mirror of
https://github.com/marcogll/talia_bot.git
synced 2026-01-13 21:35:19 +00:00
feat: Implement dynamic Google Calendar agenda, and configure OpenAI model, Calendly link, and daily summary schedule.
This commit is contained in:
@@ -2,21 +2,32 @@
|
||||
# Este módulo se encarga de manejar las peticiones relacionadas con la agenda.
|
||||
# Permite obtener y mostrar las actividades programadas para el día.
|
||||
|
||||
import datetime
|
||||
from calendar import get_events
|
||||
|
||||
def get_agenda():
|
||||
"""
|
||||
Obtiene y muestra la agenda del usuario para el día actual.
|
||||
|
||||
Por ahora, esta función devuelve una agenda de ejemplo fija.
|
||||
El plan es conectarla con Google Calendar para que sea real.
|
||||
Obtiene y muestra la agenda del usuario para el día actual desde Google Calendar.
|
||||
"""
|
||||
# TODO: Obtener la agenda dinámicamente desde Google Calendar.
|
||||
agenda_text = (
|
||||
"📅 *Agenda para Hoy*\n\n"
|
||||
"• *10:00 AM - 11:00 AM*\n"
|
||||
" Reunión de Sincronización - Proyecto A\n\n"
|
||||
"• *12:30 PM - 1:30 PM*\n"
|
||||
" Llamada con Cliente B\n\n"
|
||||
"• *4:00 PM - 5:00 PM*\n"
|
||||
" Bloque de trabajo profundo - Desarrollo Talía"
|
||||
)
|
||||
now = datetime.datetime.utcnow()
|
||||
start_of_day = now.replace(hour=0, minute=0, second=0, microsecond=0)
|
||||
end_of_day = start_of_day + datetime.timedelta(days=1)
|
||||
|
||||
events = get_events(start_of_day, end_of_day)
|
||||
|
||||
if not events:
|
||||
return "📅 *Agenda para Hoy*\n\nNo tienes eventos programados para hoy."
|
||||
|
||||
agenda_text = "📅 *Agenda para Hoy*\n\n"
|
||||
for event in events:
|
||||
start = event["start"].get("dateTime", event["start"].get("date"))
|
||||
# Formatear la hora si es posible
|
||||
if "T" in start:
|
||||
time_str = start.split("T")[1][:5]
|
||||
else:
|
||||
time_str = "Todo el día"
|
||||
|
||||
summary = event.get("summary", "(Sin título)")
|
||||
agenda_text += f"• *{time_str}* - {summary}\n"
|
||||
|
||||
return agenda_text
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
# Este módulo maneja la programación de citas para los clientes.
|
||||
# Permite a los usuarios obtener un enlace para agendar una reunión.
|
||||
|
||||
from config import CALENDLY_LINK
|
||||
|
||||
def request_appointment():
|
||||
"""
|
||||
Proporciona al usuario un enlace para agendar una cita.
|
||||
|
||||
Por ahora devuelve un enlace de ejemplo a Calendly.
|
||||
La idea es que sea un enlace dinámico generado por n8n.
|
||||
Usa el enlace configurado en las variables de entorno.
|
||||
"""
|
||||
# TODO: Integrar con un servicio real o un flujo de n8n para dar un enlace personalizado.
|
||||
response_text = (
|
||||
"Para agendar una cita, por favor utiliza el siguiente enlace: \n\n"
|
||||
"[Enlace de Calendly](https://calendly.com/user/appointment-link)"
|
||||
f"[Agendar Cita]({CALENDLY_LINK})"
|
||||
)
|
||||
return response_text
|
||||
|
||||
Reference in New Issue
Block a user