
    Xhn                        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#dZ$dZ%dZ&dZ'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/        j0                  dej-        fd            Z1e 2                    d           d ej	        fd!            Z3e 2                    d"           d ej	        fd#            Z4e ,                    d$gd%&          dej-        fd'            Z5e ,                    e+j6        (          dej-        d)efd*            Z7d+efd,Z8d-efd.Z9d/ Z:d
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)level	localhost3307root tg_chatl#+ 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                   "    e Zd Z e            ZdS )StopMaintenanceN)r   r   r   r   waiting_for_platform_namer    r!   r"   r$   r$   '   s         %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 rt	          | j                  }t          |          }|d         dk    rt          |          }t          t          j	                              }|t          |<   t          d          }|                    t          dd| 	          t          d
d| 	                     t                              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 |                     d           d {V  d S )N)group
supergroup)querytypeu   維護訊息   )	row_widthu   ✅ 開啟我方平台維護confirm|)callback_datau   ❌ 取消指令cancel|)chat_idtextreply_markup/stopz/stop@wsky_maintain_botu   我不提供私訊功能 📨)chatr2   printr9   r   r   r   struuiduuid4pending_confirmationsr   addr   botsend_messageGROUP_IDhandle_stopr*   )r(   	chat_typeresponser2   fmt_datauidkeyboards          r"   handle_group_textrL   /   s     !I	',+++W\***!!<>))*844Hdjll##C)1!#&+a888HLL$%CSc^aScScddd$%7QTWWW   ""8x"XXXXXXXXXXX\W$$8Q(Q(Qg&&&&&&&&&&&F <7""gl6O&O&Og&&&&&&&&&&&-- ?@@@@@@@@@@@r!   c                 6    | j                             d          S )Nr5   data
startswithcs    r"   <lambda>rS   P   s    QV%6%6z%B%B r!   callback_queryc                 2  K   |                      d           d {V  | j                            d          d         }t                              |          }t          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   ✅ 維護流程已確認|   u   911機台測試站u   飛龍測試站u   魔方測試站)maintain_platformrI   rC   u   ⚠️ 無效或過期的資料r8   
message_idr:   u   完成指令)answerrO   splitrA   getr   r(   rC   rD   r<   idedit_message_reply_markupr[   )rT   rJ   rI   s      r"   handle_confirmra   P   s     


 ;
<
<<<<<<<< 

#
#C
(
(
+C$((--H
.h.h.hrz  @N  @V  W  W  W  W  W  W  W  W  W  W ~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 )Nr7   rN   rQ   s    r"   rS   rS   h   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   ❌ 已取消rZ   u   ❌ 指令已取消)r\   rC   r`   r(   r<   r_   r[   rD   )rT   s    r"   handle_cancelrd   h   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_prefixc                    K   |                      d           d {V  t          j                                         d {V  d S )Nu'   請輸入欲取消維護的平台名稱)r*   r$   r%   setr+   s    r"   rF   rF   v   sX      
--A
B
BBBBBBBB

3
7
7
9
9999999999r!   )staterj   c           	        K   | j                                         }t          g d|                                dddddd|            d {V  |                     d| d           d {V  |                                 d {V  d S )NrX   r   )platforms_dates_timee_datee_timeT)rY   rI   cancel_maintainrC   u   ✅ 已成功取消 u    的維護！)r9   stripr   upperr*   finish)r(   rj   platform_names      r"   handle_platform_namerv   |   s      L&&((M
TTT!''))
 
           --K}KKK
L
LLLLLLLL
,,..r!   rC   c                 n   K   t          j        dd          g}|                     |           d {V  d S )Nr;   u   取消平台維護)commanddescription)r   
BotCommandset_my_commands)rC   r'   s     r"   set_commandsr|      sO      6JKKKH 

h
'
''''''''''r!   dpc                 >   K   t          | j                   d {V  d S )N)r|   rC   )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   )r=   r   start_pollingr}   r   r    r!   r"   init_bot_aiogramr      s/    	
2DZHHHHHHr!   );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?   rC   r   r}   basicConfigINFOhostportuserpwddbrE   rA   r   r$   message_handlerMessager,   ContentTypeTEXTrL   callback_query_handlerra   rd   rF   r%   rv   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@ BBCCJ)< J J J DCJ. AABB
R(; 
R 
R 
R CB
R fXs;;:u} : : : <;:
 /CDD j    ED((C ( ( ( (    I I I I Ir!   