
    i                     v   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dl mZ! d dl"mZ# d dl$mZ% d dl&mZ' d dl(mZ) d dl*mZ+ d dl,mZ- d dl.mZ/ d dl0mZ1 ddZ2ddZ3e4dk(  r e jj                   e3              yy)    N)Bot
Dispatcher)DefaultBotProperties)	ParseMode)RedisStorage)logger)Redis)settings)close_db)DatabaseMiddleware)UserRegisterMiddleware)BanCheckMiddleware)ThrottlingMiddleware)routerc                      t        j                          t        j                  t        j                  dd       t        j                  ddddd	       y
)zLoguru konfiguratsiyasiz<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>INFO)formatlevelzlogs/kinobot.logz10 MBz7 dayszipDEBUG)rotation	retentioncompressionr   N)r   removeaddsysstderr     6/home/empty/Documents/pet_projects/kinoBot/bot/main.pysetup_loggingr!   "   sD    
MMO
JJ

 u
 JJr   c                  	  K   t                t        j                  d       t        j                  t
        j                  d      } t        |       }t        t
        j                  t        t        j                              }t        |      }|j                  j                  t!                      |j"                  j                  t!                      |j                  j                  t%                      |j"                  j                  t%                      |j                  j                  t'                      |j"                  j                  t'                      |j                  j                  t)        |              |j*                  j                  t!                      |j-                  t.               |j-                  t0               |j-                  t2               |j-                  t4               |j-                  t6               |j-                  t8               |j-                  t:               |j-                  t<               |j-                  t>               |j-                  t@               |j-                  tB               dd	l"m#} |jI                         d
|fd       }ddl"m%}m&}m'}  |dd       |dd       |dd       |dd      g}	|jQ                  |	 |              d {    |	 |dd       |dd       |dd       |dd      gz   }
t
        jR                  D ]%  }	 |jQ                  |
 ||             d {    ' t        j                  d        	 |jW                  ||jY                         !       d {    t        j                  d"       |jZ                  j]                          d {    t_                d {    | ja                          d {    y 7 7 # tT        $ r Y w xY w7 z7 E7 57 # t        j                  d"       |jZ                  j]                          d {  7   t_                d {  7   | ja                          d {  7   w xY ww)#NzKinoBot ishga tushmoqda...F)decode_responses)redis)
parse_mode)tokendefault)storager   )
ErrorEventeventc           	      H  K   t        j                  d| j                          t        j                  D ]X  }	 | j                  j                  |dt        | j                        d d  d| j                  j                   d       d {    Z y 7 # t        $ r Y iw xY ww)NzKutilmagan xato: u9   ❌ <b>Kutilmagan xato yuz berdi!</b>

💬 Xabar: <code>i  u    </code>
ℹ️ Update ID: <code>z</code>)
r   	exceptionr
   super_admin_listbotsend_messagestrupdate	update_id	Exception)r*   admin_ids     r    global_error_handlerz"main.<locals>.global_error_handler`   s     ,U__,=>? 11 		Hii,,)),U__)=et)D(E F//4||/E/E.FgO  		  s;   6B"AB	B
BB"B	BB"BB")
BotCommandBotCommandScopeDefaultBotCommandScopeChatstartzBotni boshlash)commanddescriptionsearchzKino qidirishlanguagezTilni o'zgartirishhelpYordam)scopeadminzAdmin panelbanzUserni ban qilishunbanzUnban qilishuserinfozUser ma'lumoti)chat_idz Bot muvaffaqiyatli ishga tushdi!)allowed_updateszBot to'xtatilmoqda...)1r!   r   infor	   from_urlr
   	redis_urlr   r   	bot_tokenr   r   HTMLr   message
middlewarer   callback_queryr   r   r   channel_postinclude_routerchannel_post_routerstart_routersubscription_routersearch_routeradmin_panel_routeradmin_channels_routeradmin_stats_routeradmin_admins_routeradmin_broadcast_routeradmin_moderation_routeradmin_movies_routeraiogram.typesr)   errorr6   r7   r8   set_my_commandsr-   r3   start_pollingresolve_used_update_typessessioncloser   aclose)r$   r(   r.   dpr)   r5   r6   r7   r8   user_commandsadmin_commandsr4   s               r    mainrg   3   s    O
KK,- NN8--FE'G   $	?C 
G	$B JJ,./  !3!56JJ023  !7!9:JJ,./  !3!56JJ.U;< OO134 )*l#)*m$()+,())*,--.)* )XXZ*   VU 	73CD8?C:3GH68<	M 

m3I3K

LLL #7=A53FG7>B:3CD	& N -- 	%%)(; &    KK23	88:  
 	
 	

 	+,kk!!!jlln; M  			
 	" 	+,kk!!!jllns   K;R	=P>A R	?P	PP	!R	9$P  PP  "2R	PR	&P'R	>P?R	P			PR	PR	P  R	R	R	 3RQR&Q)'R?R RR	__main__)returnN)6asyncior   aiogramr   r   aiogram.client.defaultr   aiogram.enumsr   aiogram.fsm.storage.redisr   logurur   redis.asyncior	   
bot.configr
   bot.database.connectionr   bot.middlewares.databaser   bot.middlewares.user_registerr   bot.middlewares.ban_checkr   bot.middlewares.throttlingr   bot.handlers.user.startr   rR   bot.handlers.user.searchrT   bot.handlers.user.subscriptionrS   bot.handlers.channel_postrQ   bot.handlers.admin.panelrU   bot.handlers.admin.channelsrV   bot.handlers.admin.statsrW   bot.handlers.admin.adminsrX   bot.handlers.admin.broadcastrY   bot.handlers.admin.moderationrZ   bot.handlers.admin.moviesr[   r!   rg   __name__runr   r   r    <module>r      s     
 # 7 # 2    , 8 @ 8 ; ; < H C A G A C I K C"cL zGKK r   