o
    €m†hü  ã                   @   sz   d dl Z d dlmZ d dlmZmZ d dlZd dlZd dlZdd„ Z	G dd„ deƒZ
dd	„ ZG d
d„ dejƒZdd„ ZdS )é    N)Úcommands)ÚButtonÚViewc                 C   sH   t j | ¡si S t| dƒ�}t |¡W  d   ƒ S 1 sw   Y  d S )NÚr)ÚosÚpathÚexistsÚopenÚjsonÚload)ÚfilenameÚf© r   ú?C:\Users\Buzz\Documents\TitanTS\Discord\TitanBot\cogs\verify.pyÚload_config   s
   $ÿr   c                       s&   e Zd Zd‡ fdd„	Zdd„ Z‡  ZS )ÚVerifyButtonÚVerifyc                    s   t ƒ jtjj|dd� d S )NZverify_button)ÚstyleÚlabelÚ	custom_id)ÚsuperÚ__init__ÚdiscordÚButtonStyleÚgreen)Úselfr   ©Ú	__class__r   r   r      s
   
ýzVerifyButton.__init__c                 Ã   s`   �t jj|jjdd�}|r#|j |¡I d H  |jjddd�I d H  d S |jjddd�I d H  d S )NZVerified)Únameu   âœ… ÃšspÄ›Å¡nÄ› ovÄ›Å™eno!T)Ú	ephemeralu   â�Œ Role 'Verified' neexistuje!)	r   ÚutilsÚgetÚguildÚrolesÚuserÚ	add_rolesÚresponseÚsend_message)r   ÚinteractionÚroler   r   r   Úcallback   s   €þþzVerifyButton.callback)r   )Ú__name__Ú
__module__Ú__qualname__r   r*   Ú__classcell__r   r   r   r   r      s    r   c           
      Ã   sø   �t dƒ}|r| d¡stdƒ d S | d¡}|stdƒ d S |  t|ƒ¡}|s2td|› d�ƒ d S |jdd�I d H  td d	�}| t| d
d¡d�¡ | di ¡}| dd¡}| dd¡}| dd¡}t	j
|||d�}	|j|	|d�I d H  tdƒ d S )Nzverify_config.jsonZverify_channel_idu'   â�Œ Verify konfigurace nenÃ­ nastavena!u&   â�Œ verify_channel_id nenÃ­ nastaveno!u   â�Œ KanÃ¡l s ID z nebyl nalezen!é   )Úlimit©ÚtimeoutZbutton_labelr   )r   Zverify_embedÚtitleu   âœ… OvÄ›Å™enÃ­ ÃºÄ�tuÚdescriptionu+   Klikni na tlaÄ�Ã­tko nÃ­Å¾e pro ovÄ›Å™enÃ­!Úcolori‡òW )r3   r4   r5   )ÚembedÚviewu   âœ… Verify embed odeslÃ¡n!)r   r!   ÚprintÚget_channelÚintÚpurger   Úadd_itemr   r   ÚEmbedÚsend)
ÚbotÚconfigÚ
channel_idÚchannelr7   Zembed_configr3   r4   r5   r6   r   r   r   Úsend_verify_embed$   s.   €

rC   c                   @   sJ   e Zd Zdd„ Zej ¡ dd„ ƒZdd„ Ze 	¡ ej
dd�d	d
„ ƒƒZdS )r   c                 C   s
   || _ d S ©N©r?   )r   r?   r   r   r   r   D   s   
zVerify.__init__c                 Ã   sJ   �t d d�}| tƒ ¡ | j |¡ t| jƒI d H  | jj |  ¡ ¡ d S )Nr1   )	r   r<   r   r?   Úadd_viewrC   ÚloopÚcreate_taskÚwatch_verify_signal)r   Zpersistent_viewr   r   r   Úon_readyG   s   €
zVerify.on_readyc                 Ã   s<   �	 t  d¡I d H  tj d¡rt| jƒI d H  t d¡ q)NTr/   zverify_update.signal)ÚasyncioÚsleepr   r   r   rC   r?   Úremove)r   r   r   r   rI   T   s   €
üzVerify.watch_verify_signalT)Úadministratorc                 Ã   s&   �t | jƒI dH  | d¡I dH  dS )u$   ManuÃ¡lnÃ­ aktualizace verify embeduNu!   âœ… Verify systÃ©m aktualizovÃ¡n!)rC   r?   r>   )r   Úctxr   r   r   Úupdate_verify[   s   €zVerify.update_verifyN)r+   r,   r-   r   r   ÚCogÚlistenerrJ   rI   ÚcommandÚhas_permissionsrP   r   r   r   r   r   C   s    

r   c                 Ã   s   �|   t| ƒ¡I d H  d S rD   )Úadd_cogr   rE   r   r   r   Úsetupb   s   €rV   )r   Údiscord.extr   Z
discord.uir   r   r
   r   rK   r   r   rC   rQ   r   rV   r   r   r   r   Ú<module>   s    