o
    <6j                  	   @   sp   d dl mZ d dlmZ d dlmZmZ d dlmZ dede	dee dee fd	d
Z
dede	defddZdS )    )List)Bot)TelegramForbiddenErrorTelegramBadRequest)MandatoryChannelbotuser_idchannelsreturnc                    s   g }|D ]G}z)t |jdd rt|jn|j}| j||dI dH }|jdv r/|| W q tt	fyD } zW Y d}~qd}~w t
yL   Y qw |S )z
    Foydalanuvchining har bir majburiy kanalga obuna bo'lgan-bo'lmaganligini tekshiradi.

    Returns: Obuna bo'lmagan kanallar ro'yxati (bo'sh ro'yxat = hammasi obuna)
    - chat_idr   N)leftkicked)str
channel_idreplaceisdigitintget_chat_memberstatusappendr   r   	Exception)r   r   r	   not_subscribedchannelc_idmembere r   N/var/www/www-root/data/www/ai-bot.pdev.uz/bot/services/subscription_checker.pycheck_user_subscriptions	   s&   
&

r!   r   c                    sH   z|   I dH }| j||jdI dH }|jdv W S  ty#   Y dS w )z'Bot kanalda admin ekanligini tekshiradiNr   )administratorcreatorF)get_mer   idr   r   )r   r   bot_infor   r   r   r    check_bot_is_admin+   s   r'   N)typingr   aiogramr   aiogram.exceptionsr   r   bot.database.modelsr   r   r!   boolr'   r   r   r   r    <module>   s    
"