
    -8h                     0   d dl mZmZmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lZd d
lZd d
lZd d
lZd d
lZ ed          Z e            Z eee          Z  ej!        ej"                   dZ#i Z$ G d de          Z% G d de          Z&e '                    dg          dej(        fd            Z)e '                    ej*        j+                  dej(        fd            Z,e -                    d           dej	        fd            Z.e -                    d           dej	        fd            Z/e '                    dgd !          d/dej(        fd#            Z0e '                    d$gd !          d/dej(        fd%            Z1e '                    e&j2        &          dej(        d'efd(            Z3e '                    e&j4        &          dej(        d'efd)            Z5d*efd+Z6d,efd-Z7d. Z8d
S )0    )Bot
Dispatchertypes)executor)InlineKeyboardButtonInlineKeyboardMarkupCallbackQuery)MemoryStorage)
FSMContext)StateStatesGroup)fmt_maintain_paramsfmt_type)ask)call_maintain_apiNz.7542850818:AAEvT7wQOTRmJm5m_3Td3CS_GLcR0nPdY6Q)token)storage)levell#+ c                   "    e Zd Z e            ZdS )FormN)__name__
__module____qualname__r   waiting_for_confirm     C/Users/gualin/Documents/wsky_tg_auto_maintain/bot/tg_bot_aiogram.pyr   r      s        %''r   r   c                   6    e Zd Z e            Z e            ZdS )StopMaintenanceN)r   r   r   r   waiting_for_platform_namewaiting_for_platform_name_testr   r   r   r   r   !   s(         %%*UWW"""r   r   start)commandsmessagec                 @   K   |                      d           d {V  d S )NzHello! I'm a bot!)reply)r$   s    r   send_welcomer'   &   s1      
--+
,
,,,,,,,,,,r   )content_typesc           	        K   | j         j        }t          | j                   |dv rNt	          | j                  }t          |          }|d         dk    rt          |          }t          t          j	                              }|t          |<   t          d          }|                    t          dd| d	
          t          dd| d
          t          dd| 
                     t                              t           ||           d {V  d S | j        dk    s| j        dk    rt#          |            d {V  d S | j        dk    s| j        dk    rt%          |            d {V  d S d S | j        dk    s| j        dk    rt#          |            d {V  d S | j        dk    s| j        dk    rt%          |            d {V  d S |                     d           d {V  d S )N)group
supergroup)querytypeu   維護訊息   )	row_widthu+   ✅✅ 開啟我方“正式”平台維護confirm|u   |正式)callback_datau(   ✅ 開啟我方“測試”平台維護u   |測試u   ❌ 取消指令cancel|)chat_idtextreply_markup/stopz/stop@wsky_maintain_bot
/stop_testz/stop_test@wsky_maintain_botu   我不提供私訊功能 📨)chatr-   printr4   r   r   r   struuiduuid4pending_confirmationsr   addr   botsend_messageGROUP_IDhandle_stophandle_stop_testr&   )r$   	chat_typeresponser-   fmt_datauidkeyboards          r   handle_group_textrI   *   sf     !I	',+++W\***!!<>))*844Hdjll##C)1!#&+a888HLL$%Rbympbybybyzzz$%O_vjm_v_v_vwww$%7QTWWW   ""8x"XXXXXXXXXXX\W$$8Q(Q(Qg&&&&&&&&&&&\\))W\=[-[-["7+++++++++++F <7""gl6O&O&Og&&&&&&&&&&&\\))W\=[-[-["7+++++++++++-- ?@@@@@@@@@@@r   c                 6    | j                             d          S )Nr0   data
startswithcs    r   <lambda>rP   P   s    QV%6%6z%B%B r   callback_queryc                   K   |                      d           d {V  | j                            d          d         }t                              |          }| j                            d          d         dk    }t          |rg dng d|| j                   d {V  |s2t                              | j        j	        j
        d	           d {V  d S t                              | j        j	        j
        | j        j        d 
           d {V  t                              | j        j	        j
        d           d {V  d S )Nu   ✅ 維護流程已確認|r.      u   測試)   911機台測試站   飛龍測試站   魔方測試站)   911機台正式站   飛龍正式站   魔方正式站)maintain_platformrF   r?   u   ⚠️ 無效或過期的資料r3   
message_idr5   u   完成指令)answerrL   splitr=   getr   r$   r?   r@   r8   idedit_message_reply_markupr]   )rQ   rG   rF   is_tests       r   handle_confirmrd   P   s     


 ;
<
<<<<<<<< 

#
#C
(
(
+C$((--H!'',,Q/8;G
X_  `TTTT  f`  f`  f`"         
  ~5:=?`aaaaaaaaa 
'
'&+.!)4 (          

>169.
I
IIIIIIIIIIr   c                 6    | j                             d          S )Nr2   rK   rN   s    r   rP   rP   n   s    QV%6%6y%A%A r   c                   K   |                      d           d {V  t                              | j        j        j        | j        j        d            d {V  t                              | j        j        j        d           d {V  d S )Nu   ❌ 已取消r\   u   ❌ 指令已取消)r^   r?   rb   r$   r8   ra   r]   r@   )rQ   s    r   handle_cancelrg   n   s      



0
00000000

'
'&+.!)4 (          

>169;P
Q
QQQQQQQQQQr   stop/)r#   commands_prefixFc                    K   |                      d           d {V  t          j                                         d {V  d S )Nu?   請輸入欲取消維護的“”“正式”“”平台名稱)r&   r   r    setr$   rc   s     r   rB   rB   |   sX      
--Y
Z
ZZZZZZZZ

3
7
7
9
9999999999r   	stop_testc                    K   |                      d           d {V  t          j                                         d {V  d S )NuB   請輸入欲取消維護的“”“測試站”“”平台名稱)r&   r   r!   rl   rm   s     r   rC   rC      sX      
--\
]
]]]]]]]]

8
<
<
>
>>>>>>>>>>r   )staterp   c           	        K   | j                                         }t          g d|                                dddddd|            d {V  |                     d| d           d {V  |                                 d {V  d S )N)rX   rY   rZ   u   馬上發正式站u   馬上發正式站VN platforms_dates_timee_datee_timeTr[   rF   cancel_maintainr?      ✅ 已成功取消     的維護！r4   stripr   upperr&   finishr$   rp   platform_names      r   handle_platform_namer      s      L&&((M
 A  A  A "''))
 
           --K}KKK
L
LLLLLLLL
,,..r   c           	        K   | j                                         }t          g d|                                dddddd|            d {V  |                     d| d           d {V  |                                 d {V  d S )N)rU   rV   rW   u   馬上發測試站u   馬上發測試站VNrr   rs   Try   r{   r|   r}   r   s      r   handle_platform_name_testr      s      L&&((M
 A  A  A "''))
 
           --K}KKK
L
LLLLLLLL
,,..r   r?   c                    K   t          j        dd          t          j        dd          g}|                     |           d {V  d S )Nr6   u*   取消“正式正式正式”平台維護)commanddescriptionr7   )r   
BotCommandset_my_commands)r?   r#   s     r   set_commandsr      sc      6bccc;ghhhH 

h
'
''''''''''r   dpc                 >   K   t          | j                   d {V  d S )N)r   r?   )r   s    r   
on_startupr      s.      
rv

r   c                  f    t          d           t          j        t          dt                     d S )NzBot is runningT)skip_updatesr   )r9   r   start_pollingr   r   r   r   r   init_bot_aiogramr      s/    	
2DZHHHHHHr   )F)9aiogramr   r   r   aiogram.utilsr   aiogram.typesr   r   r	   "aiogram.contrib.fsm_storage.memoryr
   aiogram.dispatcherr    aiogram.dispatcher.filters.stater   r   utils.fmt_maintain_paramsr   r   openai_config.openai_utilsr   api.apir   sysospandaspdloggingr;   r?   r   r   basicConfigINFOrA   r=   r   r   message_handlerMessager'   ContentTypeTEXTrI   callback_query_handlerrd   rg   rB   rC   r    r   r!   r   r   r   r   r   r   r   <module>r      s   * * * * * * * * * * " " " " " " R R R R R R R R R R < < < < < < ) ) ) ) ) ) ? ? ? ? ? ? ? ? B B B B B B B B * * * * * * % % % % % % 



 				       
c@AAA
-//ZW%%%  ', ' ' ' ' " " " " "; " " "- - - - -k - - -
 gY''- - - - ('- %"3"899#AU] #A #A #A :9#AJ BBCCJ)< J J J DCJ: AABB
R(; 
R 
R 
R CB
R fXs;;: :u} : : : <;: k]C@@? ?EM ? ? ? A@?
 /CDD j    ED, /HIIU] :    JI,(C ( ( ( (    I I I I Ir   