code: def get_game_high_scores(
          self,
          user_id: Union[int, str],
          chat_id: Union[int, str],
          message_id: int = None
      ):
          
          # TODO: inline_message_id
  
          return pyrogram.GameHighScores._parse(
              self,
              self.send(
                  functions.messages.GetGameHighScores(
                      peer=self.resolve_peer(chat_id),
                      id=message_id,
                      user_id=self.resolve_peer(user_id)
                  )
              )
          )
docs: Use this method to get data for high score tables.
  
          Args:
              user_id (``int`` | ``str``):
                  Unique identifier (int) or username (str) of the target chat.
                  For your personal cloud (Saved Messages) you can simply use "me" or "self".
                  For a contact that exists in your Telegram address book you can use his phone number (str).
  
              chat_id (``int`` | ``str``, *optional*):
                  Unique identifier (int) or username (str) of the target chat.
                  For your personal cloud (Saved Messages) you can simply use "me" or "self".
                  For a contact that exists in your Telegram address book you can use his phone number (str).
                  Required if inline_message_id is not specified.
  
              message_id (``int``, *optional*):
                  Identifier of the sent message.
                  Required if inline_message_id is not specified.
  
          Returns:
              On success, a :obj:`GameHighScores <pyrogram.GameHighScores>` object is returned.
  
          Raises:
              :class:`RPCError <pyrogram.RPCError>` in case of a Telegram RPC error.