danielraynaud commited on
Commit
281e6ba
·
verified ·
1 Parent(s): a989bf4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -0
app.py CHANGED
@@ -10,11 +10,29 @@ from database.db_manager import DatabaseManager
10
  from database.db_operations import adicionar_lote_questoes
11
  from study_generators import StudyPlanGenerator
12
  import logging
 
13
 
14
  # Configuração de logging
15
  logging.basicConfig(level=logging.INFO)
16
  logger = logging.getLogger(__name__)
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  class CRMJABot:
19
  def __init__(self):
20
  logger.info("Iniciando CRMJABot...")
@@ -68,11 +86,21 @@ class CRMJABot:
68
  areas = parts[3].split(",") if len(parts) > 3 else []
69
 
70
  plano = self.planner.create_study_plan(user_id, horas, data_alvo, areas)
 
71
  return f"Plano criado: {plano}"
72
  except Exception as e:
73
  logger.error(f"Erro ao criar plano: {e}")
74
  return "Erro ao criar plano."
75
 
 
 
 
 
 
 
 
 
 
76
  def check_progress(self, message: str, user_id: str) -> str:
77
  try:
78
  metrics = self.analytics.calculate_study_metrics(user_id)
 
10
  from database.db_operations import adicionar_lote_questoes
11
  from study_generators import StudyPlanGenerator
12
  import logging
13
+ from twilio.rest import Client
14
 
15
  # Configuração de logging
16
  logging.basicConfig(level=logging.INFO)
17
  logger = logging.getLogger(__name__)
18
 
19
+ # Configuração Twilio para notificações via WhatsApp
20
+ TWILIO_ACCOUNT_SID = 'your_account_sid'
21
+ TWILIO_AUTH_TOKEN = 'your_auth_token'
22
+ TWILIO_WHATSAPP_NUMBER = 'whatsapp:+14155238886'
23
+ client = Client(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
24
+
25
+ def send_whatsapp_message(to_number: str, message: str):
26
+ try:
27
+ client.messages.create(
28
+ body=message,
29
+ from_=TWILIO_WHATSAPP_NUMBER,
30
+ to=f'whatsapp:{to_number}'
31
+ )
32
+ logger.info(f"Mensagem enviada para {to_number}")
33
+ except Exception as e:
34
+ logger.error(f"Erro ao enviar mensagem pelo WhatsApp: {e}")
35
+
36
  class CRMJABot:
37
  def __init__(self):
38
  logger.info("Iniciando CRMJABot...")
 
86
  areas = parts[3].split(",") if len(parts) > 3 else []
87
 
88
  plano = self.planner.create_study_plan(user_id, horas, data_alvo, areas)
89
+ self.schedule_study_notifications(user_id, horas, data_alvo)
90
  return f"Plano criado: {plano}"
91
  except Exception as e:
92
  logger.error(f"Erro ao criar plano: {e}")
93
  return "Erro ao criar plano."
94
 
95
+ def schedule_study_notifications(self, user_id: str, horas: int, data_alvo: str):
96
+ try:
97
+ # Envia notificações diárias para acompanhar os estudos
98
+ to_number = self.db.get_user_phone(user_id) # Método fictício para obter o número do usuário
99
+ message = f"Lembrete: Estude {horas} horas hoje para atingir sua meta até {data_alvo}!"
100
+ send_whatsapp_message(to_number, message)
101
+ except Exception as e:
102
+ logger.error(f"Erro ao agendar notificações: {e}")
103
+
104
  def check_progress(self, message: str, user_id: str) -> str:
105
  try:
106
  metrics = self.analytics.calculate_study_metrics(user_id)