
    Ii	                     D    d dl Z d dlZd dlmZ d dlZd ZddZd ZddZy)	    N)datetimec                     | yt        j                  t        |       j                               }|j	                         d d }t        |d      S )Ni       )hashlibmd5strencode	hexdigestint)user_idhash_object	hex_colors      :/srv/www/ollama/chat-ollama/src/discord/discord_webhook.pyget_user_colorr      sG    ++c'l1134K%%'+Iy"    c                 v    | xs dj                         } d|xs dj                         v ryd| v ryd| v sd| v ryy)	N 	microsoftu   🔑loginmensagemmessageu   💬u   📝)lower)actiondetailss     r   get_action_emojir      sL    l!!#Fw}"++--&VyF2r   c                     | st        j                         } t        | t              r	 t        j                  |       } | j                  d      S # t
        $ r | cY S w xY w)Nz%d/%m/%Y %H:%M:%S)r   utcnow
isinstancer	   fromisoformat	Exceptionstrftime)dts    r   format_datetimer$      sX    __"c	''+B ;;*++  	I	s   A AAc                    t        j                  d      }|st        d       y t        |      }	t	        | |      }
|xs	 d| xs d}|
 d| j                          }|xs d}d| d| d	d
dg}|rK|j                         t        |      j                         ddfvr|j                  d| d|xs d d	d
d       |j                  dt        |xs d      d
ddt        |      d
dg       |r!t        |t              r|j                  |       |||	|t        j                         j                         d}d|gi}t        d|        t        d|        	 t!        j"                  ||d      }t        d|j$                   d|j&                          |j)                          y # t*        $ r}t        d|        Y d }~y d }~ww xY w)NURL_WEBHOOKz$[DISCORD AUDIT] URL_WEBHOOK not set!u	   Usuário u   Usuário -u   🧑 Usuárioz (ID: )T)namevalueinlineuseru   usuáriou   📦 Objetoz (u   🌐 IPu	   📅 Data)titledescriptioncolorfields	timestampembedsz[DISCORD AUDIT] Webhook URL: z[DISCORD AUDIT] Payload:    )jsontimeoutz[DISCORD AUDIT] Response: z2[DISCORD AUDIT] Falha ao enviar log para Discord: )osgetenvprintr   r   
capitalizer   r	   appendextendr$   r   listr   r   	isoformatrequestspoststatus_codetextraise_for_statusr!   )r   r   object_type	object_idr   
ip_address
created_atextra_fieldswebhook_urlr0   emojiusernamer.   r/   r1   embeddatarespes                      r   send_discord_audit_logrP   !   s   ))M*K457#EVW-EA	'3AzHgQv((*+,E.SK hZvgYa+HTXYF {((*3x=3F3F3H&R\2]]}+bIYVYHZZ[7\hlmn
MMS):s%;Mz'BdS  
<6l#"__&002E ugD	)+
78	%dV
,-H}}[tQ?*4+;+;*<Adii[IJ HB1#FGGHs   AF) )	G
2GG
)N)NNNNNNN)r?   r7   r   r   r   r   r$   rP    r   r   <module>rR      s&     	  ,$Hr   