
    soj              
           d dl 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 dedej        dededdf
dZ dS )    N)Update)ContextTypes)phrases)dispatch_game)Game)User)
GameStatus)ReservedKeyboardKeys)Screen)Keyboard)get_game_from_keyboard'collect_game_wagers_and_set_in_progressget_text)full_message_sendmention_markdown_userfull_media_send)get_belly_formattedupdatecontextinbound_keyboarduserreturnc                 B  K   t          |          }|                    |          s$t          |t          j        |            d{V  dS t          |j                  }|t
          j        urt          | ||||           d{V  dS t          j	        
                                |_        t          | ||d           d{V  |j        t          j                            t!          |j                  |                                                                t)          |j                  |                                                                          }t/          t          j        t2          j        |j        it8          j        d          gg}|j                            tA          |||j        j!        j"        |j#        |dd|j        |j        g	  	                   n|$                                r|%                                rxtM          |dd          }t/          t          j'        t2          j        |j        it8          j(        d          gg}|j                            tA          |||d| 	                     t          | ||||d
           d{V  dS )z
    Manage the game input screen
    :param update: The update
    :param context: The context
    :param inbound_keyboard: The inbound keyboard
    :param user: The user
    :return: None
    )r   NF)
challengershould_remove_bounty_opponentT)infoscreenis_deeplink)captionchat_idedit_message_idkeyboardadd_delete_buttonedit_only_caption_and_keyboard
group_chatauthorized_users)is_for_group_global)r   r"   r$   r   )should_start_immediately))r   	is_playerr   r   GAME_INPUT_NOT_PLAYERr	   statusAWAITING_OPPONENT_CONFIRMATIONr   datetimenowglobal_challenger_start_dater   r%   GAME_REQUEST_OPEN_HEADERformatr   r   get_typeget_namer   wagerget_descriptionr   KEYBOARD_OPTION_ACCEPTr
   DEFAULT_PRIMARY_KEYidr   PVT_GAME_GLOBAL_START_OPPONENTapplicationcreate_taskr   grouptg_group_id
message_id	is_globalis_guess_basedr   GRP_KEY_GAME_PLAY PVT_GAME_GLOBAL_START_CHALLENGER)r   r   r   r   gamegame_statusot_textoutbound_keyboards           D/app/src/chat/private/screens/screen_game_global_start_challenger.pymanagerH      s      ((899D >>$ )FvVVVVVVVVVV(55K *CCCFGT3CTJJJJJJJJJ )1(9(=(=(?(?D%
1U         
 "299!$/22MMOO$$&&
++MMOO++--	
 
 2.BDGL!@ $	  
3
 	''-9 $*"&/3?"&/!2
 
 
	
 	
 	
 	
 
		 
d1133 
4DAAA -.BDGL!B $	  
3
 	''*/3  	
 	
 	
 /PT               )!r-   src.tg_compatr   src.tg_compat.extr   	resourcesr   *src.chat.common.screens.screen_game_manager   src.model.Gamer   src.model.Userr   src.model.enums.GameStatusr	   $src.model.enums.ReservedKeyboardKeysr
   src.model.enums.Screenr   src.model.pojo.Keyboardr   src.service.game_servicer   r   r   src.service.message_servicer   r   r   src.utils.string_utilsr   DEFAULT_TYPErH    rI   rG   <module>rY      s{                * * * * * *       D D D D D D             1 1 1 1 1 1 E E E E E E ) ) ) ) ) ) , , , , , ,         
 b a a a a a a a a a 6 6 6 6 6 6[[)6[JR[Z^[	[ [ [ [ [ [rI   