U
    $gX                     @   s   d dl Z d dlZd dlZd dlmZmZmZ d dlmZm	Z	m
Z
mZmZmZ d dlmZmZmZ ejdejd eeZi Zdd Zeejdd	d
dZeejed	ddZG dd dZdd ZdS )    N)UpdateInlineKeyboardButtonInlineKeyboardMarkup)ApplicationCommandHandlerMessageHandlerCallbackQueryHandlerContextTypesfilters)TOKENFORCE_CHANNEL_IDFORCE_CHANNEL_USERNAMEz4%(asctime)s - %(name)s - %(levelname)s - %(message)s)formatlevelc              
      s\   z|  t|I d H }|jdkW S  tk
rV } ztd|  W Y dS d }~X Y nX d S )N)leftkickedz Error checking user membership: F)get_chat_memberr   status	Exceptionloggererror)clientuser_idmembere r   )/var/www/html/telegram/force_subscribe.pycheck_user_joined_channel   s    r   )updatecontextreturnc                    sf   | j }| jj}t|j|I d H }|rNdt|< |dI d H  |dI d H  n|jdddI d H  d S )NTz1Terima kasih telah bergabung dengan channel kami!ur   ✅ Verifikasi berhasil! Anda sekarang dapat mengunduh file.

Silakan kirim URL Terabox lagi untuk mengunduh file.zLAnda belum bergabung dengan channel kami. Silakan bergabung terlebih dahulu.)
show_alert)callback_queryeffective_useridr   botuser_statusansweredit_message_text)r   r   queryr   
has_joinedr   r   r   check_subscription_callback&   s    r+   c                    s   | j j}|tkrt| rdS t|j|I d H }|r>dt|< dS ttddt dgtdddgg}| jj	d|d	I d H  d
S d S )NTu   🔔 Gabung Channelzhttps://t.me/)urlu   ✅ Saya sudah bergabungZcheck_subscription)callback_datau   ⚠️ Untuk mengunduh file, Anda harus bergabung dengan channel kami terlebih dahulu.

1. Klik tombol "🔔 Gabung Channel" di bawah
2. Setelah bergabung, klik tombol "✅ Saya sudah bergabung"
3. Anda akan dapat mengunduh file setelah verifikasi berhasil)reply_markupF)
r#   r$   r&   r   r%   r   r   r   message
reply_text)r   r   r   r*   keyboardr   r   r   force_subscription_filter:   s     r2   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )ForceSubscriptionFilterc                 C   s
   || _ d S Nfunc)selfr6   r   r   r   __init__Z   s    z ForceSubscriptionFilter.__init__c                 C   s   |  |d S r4   r5   r7   r   r   r   r   __call__]   s    z ForceSubscriptionFilter.__call__c                 C   s   |  |d S r4   r5   r9   r   r   r   check_update`   s    z$ForceSubscriptionFilter.check_updateN)__name__
__module____qualname__r8   r:   r;   r   r   r   r   r3   Y   s   r3   c                 C   sF   |  ttdd dd }| j ttjtj @ dd |ddd	 tjS )
Nz^check_subscription$)patternc                    s   t | |I d H S r4   )r2   r   r   r   r   r   async_force_subscription_filteri   s    zGadd_force_subscription_handler.<locals>.async_force_subscription_filterc                 S   s   d S r4   r   r@   r   r   r   <lambda>p       z0add_force_subscription_handler.<locals>.<lambda>)callback)group)add_handlerr   r+   r   r
   TEXTCOMMAND)applicationrA   r   r   r   add_force_subscription_handlerd   s    
rK   )reloggingostelegramr   r   r   telegram.extr   r   r   r   r	   r
   configr   r   r   basicConfigINFO	getLoggerr<   r   r&   r   DEFAULT_TYPEr+   boolr2   r3   rK   r   r   r   r   <module>   s     
	