
    soj'              
          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mZmZ d dlmZmZm Z  d dl!m"Z"  G d de          Z#dedej$        dededdf
dZ	dS )    )StrEnum)Update)ContextTypesN)manage)User)
GameStatus)ButtonStyle)ReservedKeyboardKeys)Screen)GameType)Keyboard)delete_gamevalidate_gameenqueue_game_timeout)mention_markdown_userget_yes_no_keyboardfull_media_send)get_belly_formattedc                       e Zd ZdZdZdZdZdS )GameSelectionReservedKeysz+
    The reserved keys for this screen
    abcN)__name__
__module____qualname____doc__GAME_ID	GAME_TYPECANCEL     5/app/src/chat/common/screens/screen_game_selection.pyr   r      s)          GIFFFr"   r   updatecontextuserinbound_keyboardreturnc           	        K   t          | ||           d{V }|dS t          j        |j        v r t	          || |           d{V  d|_        dS t          |j        t          j                           |_        t          j
        |_        |                                 |j        }|j        }|j        t!          | |||           d{V  dS |t"          j                            t)          |          t)          |          |                                                                t/          |j                  |                                                                          }t5          |t6          j        t"          j        t"          j        |j        dd          g}nt"          j                             t)          |          |                                                                t/          |j                  |                                                                          }tC          t"          j"        tF          j$        |j        it6          j%        d          gt5          t6          j        t"          j        |j        dd          g}t          j&        |j        tF          j'        |j        gt          j        di}	tC          t"          j(        |	t6          j        	          }
|tR          j*        |
_+        |,                    |
g           t[          ||| ||.                                d
           d{V  |j/        0                    tc          || |                     dS )z
    Manage the game screen
    :param update: The update object
    :param context: The context object
    :param user: The user object
    :param inbound_keyboard: The inbound keyboard
    :return: None
    NFsuccessdanger)screenyes_textno_textprimary_key	yes_styleno_styleT)infor,   is_deeplink)r,   r-   r/   exclude_no_buttonr0   )r2   r,   )captionr$   keyboardsaved_media_nameignore_bad_request_exception)2r   r   r    r2   r   should_update_modelr   r   typer   AWAITING_OPPONENT_CONFIRMATIONstatussave
challengeropponent
group_chatmanage_global_gamephrasesGAME_REQUESTformatr   get_typeget_namer   wagerget_descriptionr   r   GRP_GAME_OPPONENT_CONFIRMATIONKEYBOARD_OPTION_ACCEPTKEYBOARD_OPTION_REJECTidGAME_REQUEST_OPENr   GRP_KEY_GAME_START_GLOBALr
   DEFAULT_PRIMARY_KEY PVT_GAME_GLOBAL_START_CHALLENGERr   AUTHORIZED_USERSKEYBOARD_OPTION_CANCELr	   PRIMARYstyleappendr   get_saved_media_nameapplicationcreate_taskr   )r$   r%   r&   r'   gamer>   r?   ot_textoutbound_keyboardbutton_delete_infocancel_keyboards              r#   r   r       s`      vw0@AAAAAAAAD| !'+;+@@@'64000000000#( )./H/RSTTDI;DKIIKKKJ]H  2BDIIIIIIIII&--!(++!*--MMOO$$&&
++MMOO++--
 
  < 76 G#!  
3
 +22!*--MMOO$$&&
++MMOO++--	
 
 5.BDGL!B $	    < 7 G"&#  3
* 	")47-
!($
 &4  O
  !, 3o.///
"2244%)          ##$8&$$O$OPPPPPr"   )%enumr   src.tg_compatr   src.tg_compat.extr   resources.phrasesrB   <src.chat.private.screens.screen_game_global_start_challengerr   rA   src.model.Userr   src.model.enums.GameStatusr   src.model.enums.ButtonStyler	   $src.model.enums.ReservedKeyboardKeysr
   src.model.enums.Screenr   src.model.game.GameTyper   src.model.pojo.Keyboardr   src.service.game_servicer   r   r   src.service.message_servicer   r   r   src.utils.string_utilsr   r   DEFAULT_TYPEr!   r"   r#   <module>rn      s                     * * * * * * # # # # # #             1 1 1 1 1 1 3 3 3 3 3 3 E E E E E E ) ) ) ) ) ) , , , , , , , , , , , , U U U U U U U U U U c c c c c c c c c c 6 6 6 6 6 6       lQlQ)6lQ>BlQV^lQ	lQ lQ lQ lQ lQ lQr"   