
    i              	       p    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	Z
ded
e	defdZy)    )List)Bot)TelegramForbiddenErrorTelegramBadRequest)MandatoryChannelbotuser_idchannelsreturnc                   K   g }|D ]  }	 t        |j                        j                  dd      j                         rt	        |j                        n|j                  }| j                  ||       d{   }|j                  dv r|j                  |        |S 7 '# t        t        f$ r
}Y d}~d}~wt        $ r Y w xY ww)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es           O/home/empty/Documents/pet_projects/kinoBot/bot/services/subscription_checker.pycheck_user_subscriptionsr"   	   s      N 	.1'2D2D.E.M.McSU.V.^.^.`3w))*fmfxfxD.. /  F
 }} 22%%g.&  '(:; 	 		sG   CA*B5B6#BCBC.C3C?CCCr   c                    K   	 | j                          d{   }| j                  ||j                         d{   }|j                  dv S 7 77 # t        $ r Y yw xY ww)z'Bot kanalda admin ekanligini tekshiradiNr   )administratorcreatorF)get_mer   idr   r   )r   r   bot_infor   s       r!   check_bot_is_adminr)   +   s_     %**:x{{*SS}} <<< &S sH   A"A A$A AA A"A A 	AA"AA"N)typingr   aiogramr   aiogram.exceptionsr   r   bot.database.modelsr   r   r"   boolr)        r!   <module>r1      sa      I 0	 #$ 

	D# 3 4 r0   