
    Mjw                     |    d Z ddlZddlZddlZddlZ ej                  e      ZdZ	de
fdZdede
fdZdedefd	Zy)
ug  
Notificador WhatsApp via CallMeBot (https://www.callmebot.com) — API gratuita
para envio de mensagens ao PRÓPRIO número do usuário (uso pessoal).

Setup (uma única vez, pelo celular do usuário):
  1. Adicionar o contato +34 611 04 87 48 no telefone.
  2. Enviar por WhatsApp para esse contato: "I allow callmebot to send me messages"
  3. O bot responde com a APIKEY.
  4. Configurar no .env da VPS:
       CALLMEBOT_PHONE=+55XXXXXXXXXXX   (número com código do país)
       CALLMEBOT_APIKEY=XXXXXX

Sem as duas variáveis configuradas, send_whatsapp é no-op silencioso (retorna
False) — nada quebra.
    Nz&https://api.callmebot.com/whatsapp.phpreturnc                  l    t        t        j                  d      xr t        j                  d            S )NCALLMEBOT_PHONECALLMEBOT_APIKEY)boolosgetenv     C/var/www/hypershopcomercio.com.br/hyper-ai/app/services/notifier.pywhatsapp_configuredr      s&    		+,N;M1NOOr   messagec                 H   t        j                  d      }t        j                  d      }|r|st        j                  d       y	 t	        |       dkD  r| dd dz   } t        j                  t        || |d	d
      }|j                  dk(  xr d|j                  j                         v}|rt        j                  d       |S t        j                  d|j                   d|j                  dd         |S # t        $ r"}t        j                  d|        Y d}~yd}~ww xY w)uL   Envia mensagem WhatsApp para o número configurado. Nunca levanta exceção.r   r   ua   WhatsApp não configurado (CALLMEBOT_PHONE/CALLMEBOT_APIKEY ausentes) — notificação ignorada.Fi  Ni  z
(...))phonetextapikey   )paramstimeout   ERRORu   Notificação WhatsApp enviada.zCallMeBot retornou : u'   Falha ao enviar WhatsApp (não-fatal): )r   r	   loggerinfolenrequestsgetCALLMEBOT_URLstatus_coder   upperwarning	Exception)r   r   r   respokes         r   send_whatsappr&      s   II'(EYY)*Fwxw<$etny0G||M3
 	
 $I		8I)IKK9: 	 NN01A1A0B"TYYtPS_DUVW	 @DEs   A;C6 3C6 6	D!?DD!summaryc                    | j                  dg       }dt        |       dg}dddd}|dd	 D ]  }|j                  d
      xs |j                  d      xs d}t        |      dkD  r|dd dz   }|j                  |d   |d          d| }|j                  d      r|d|d    dz  }|j                  |        t        |      d	kD  r!|j                  dt        |      d	z
   d       |j                  d       dj                  |      S )uC   Formata o resumo diário do motor de decisão de Ads para WhatsApp.createdu   🤖 HyperAI — Ads: u    nova(s) recomendação(ões)u   ⏸️ Pausaru   📉 Reduzir/Pausaru   🚀 Aumentar)pausarreduzir_ou_pausaraumentarN   titleitem_id?-   *   z...action_coder   impactz ()z
...e mais .z5Decidir: ia.hypershopcomercio.com.br/ads-intelligence
)r   r   appendjoin)r'   r)   linesaction_labelscr.   lines          r   "format_ads_recommendations_summaryr>   ;   s+   kk)R(G%c'l^3PQRE "2#M
 Ra[ w:155#3:su:?#2J&E##Am$4a6FGH5'R55?b8Q''DT 7|az#g,"2!3156	LLHI99Ur   )__doc__r   loggingurllib.parseurllibr   	getLogger__name__r   r   r   r   strr&   dictr>   r
   r   r   <module>rG      sc    
   			8	$8PT P3 4 8  r   