# Match

Module: `pyot.models.val.match`

### *class* `Match`

Type: `PyotCore`

Definitions:

* `__init__` -> `None`
  * `id`: `str = empty`
  * `platform`: `str = models.val.DEFAULT_PLATFORM`

Endpoints:

* `match_v1_match`: `['id']`

Attributes:

* `id` -> `str`
* `info` -> `pyot.models.val.match.MatchInfoData`
* `players` -> `List[pyot.models.val.match.MatchPlayerData]`
* `teams` -> `List[pyot.models.val.match.MatchTeamData]`
* `coaches` -> `List[pyot.models.val.match.MatchCoachData]`
* `round_results` -> `List[pyot.models.val.match.MatchRoundResultData]`
* `start_time_millis` -> `int`
* `team_id` -> `str`
* `queue_id` -> `str`

Properties:

* *property* `start_time` -> `datetime.datetime`

### *class* `MatchHistory`

Type: `PyotCore`

Definitions:

* `__init__` -> `None`
  * `puuid`: `str = empty`
  * `platform`: `str = models.val.DEFAULT_PLATFORM`
* `__iter__` -> `Iterator[pyot.models.val.match.Match]`
* `__len__` -> `int`

Endpoints:

* `match_v1_matchlist`: `['puuid']`

Attributes:

* `puuid` -> `str`
* `history` -> `List[pyot.models.val.match.Match]`

Properties:

* *property* `account` -> `Account`

### *class* `RecentMatches`

Type: `PyotCore`

Definitions:

* `__init__` -> `None`
  * `queue`: `str = empty`
  * `platform`: `str = models.val.DEFAULT_PLATFORM`
* `__iter__` -> `Iterator[pyot.models.val.match.Match]`
* `__len__` -> `int`

Endpoints:

* `match_v1_recent`: `['queue']`

Attributes:

* `current_timestamp` -> `int`
* `match_ids` -> `List[str]`

Properties:

* *property* `current_time` -> `datetime.datetime`
* *property* `matches` -> `List[pyot.models.val.match.Match]`

### *class* `MatchCoachData`

Type: `PyotStatic`

Attributes:

* `puuid` -> `str`
* `team_id` -> `str`

### *class* `MatchInfoData`

Type: `PyotStatic`

Attributes:

* `id` -> `str`
* `map_url` -> `str`
* `start_millis` -> `int`
* `length_millis` -> `int`
* `provisioning_flow_id` -> `str`
* `is_completed` -> `bool`
* `custom_game_name` -> `str`
* `queue_id` -> `str`
* `game_mode` -> `str`
* `game_version` -> `str`
* `is_ranked` -> `bool`
* `season_id` -> `str`

Properties:

* *property* `length` -> `datetime.timedelta`
* *property* `start` -> `datetime.datetime`

### *class* `MatchLocationData`

Type: `PyotStatic`

Attributes:

* `x` -> `int`
* `y` -> `int`

### *class* `MatchPlayerAbilityCastData`

Type: `PyotStatic`

Attributes:

* `grenade_casts` -> `int`
* `ability1_casts` -> `int`
* `ability2_casts` -> `int`
* `ultimate_casts` -> `int`

### *class* `MatchPlayerAbilityData`

Type: `PyotStatic`

Attributes:

* `grenade_effects` -> `int`
* `ability1_effects` -> `int`
* `ability2_effects` -> `int`
* `ultimate_effects` -> `int`

### *class* `MatchPlayerDamageData`

Type: `PyotStatic`

Attributes:

* `receiver` -> `str`
* `damage` -> `int`
* `legshots` -> `int`
* `bodyshots` -> `int`
* `headshots` -> `int`

### *class* `MatchPlayerData`

Type: `PyotStatic`

Attributes:

* `puuid` -> `str`
* `game_name` -> `str`
* `tag_line` -> `str`
* `team_id` -> `str`
* `party_id` -> `str`
* `character_id` -> `str`
* `stats` -> `pyot.models.val.match.MatchPlayerStatData`
* `competitive_tier` -> `int`
* `player_card_id` -> `str`
* `player_title_id` -> `str`

Properties:

* *property* `account` -> `Account`

### *class* `MatchPlayerEconomyData`

Type: `PyotStatic`

Attributes:

* `loadout_value` -> `int`
* `weapon_id` -> `str`
* `armor_id` -> `str`
* `remaining` -> `int`
* `spent` -> `int`

### *class* `MatchPlayerFinishingDamageData`

Type: `PyotStatic`

Attributes:

* `damage_type` -> `str`
* `damage_item` -> `str`
* `is_secondary_fire_mode` -> `bool`

### *class* `MatchPlayerKillData`

Type: `PyotStatic`

Attributes:

* `game_time_millis` -> `int`
* `round_time_millis` -> `int`
* `killer_puuid` -> `str`
* `victim_puuid` -> `str`
* `victim_location` -> `pyot.models.val.match.MatchLocationData`
* `assistant_puuids` -> `List[str]`
* `player_locations` -> `List[pyot.models.val.match.MatchPlayerLocationData]`
* `finishing_damage` -> `pyot.models.val.match.MatchPlayerFinishingDamageData`

Properties:

* *property* `assistants` -> `List[ForwardRef(Account)]`
* *property* `game_time` -> `datetime.timedelta`
* *property* `killer` -> `Account`
* *property* `round_time` -> `datetime.timedelta`
* *property* `victim` -> `Account`

### *class* `MatchPlayerLocationData`

Type: `PyotStatic`

Attributes:

* `puuid` -> `str`
* `view_radians` -> `float`
* `location` -> `pyot.models.val.match.MatchLocationData`

### *class* `MatchPlayerRoundStatData`

Type: `PyotStatic`

Attributes:

* `puuid` -> `str`
* `kills` -> `List[pyot.models.val.match.MatchPlayerKillData]`
* `damage` -> `List[pyot.models.val.match.MatchPlayerDamageData]`
* `score` -> `int`
* `economy` -> `pyot.models.val.match.MatchPlayerEconomyData`
* `ability` -> `pyot.models.val.match.MatchPlayerAbilityData`

### *class* `MatchPlayerStatData`

Type: `PyotStatic`

Attributes:

* `score` -> `int`
* `rounds_played` -> `int`
* `kills` -> `int`
* `deaths` -> `int`
* `assists` -> `int`
* `playtime_millis` -> `int`
* `ability_casts` -> `pyot.models.val.match.MatchPlayerAbilityCastData`

Properties:

* *property* `playtime` -> `datetime.timedelta`

### *class* `MatchRoundResultData`

Type: `PyotStatic`

Attributes:

* `round_num` -> `int`
* `round_result` -> `str`
* `round_ceremony` -> `str`
* `winning_team` -> `str`
* `bomb_planter_puuid` -> `str`
* `bomb_defuser_puuid` -> `str`
* `plant_round_millis` -> `int`
* `plant_player_locations` -> `List[pyot.models.val.match.MatchPlayerLocationData]`
* `plant_location` -> `pyot.models.val.match.MatchLocationData`
* `plant_site` -> `str`
* `defuse_round_millis` -> `int`
* `defuse_player_locations` -> `List[pyot.models.val.match.MatchPlayerLocationData]`
* `defuse_location` -> `pyot.models.val.match.MatchLocationData`
* `player_stats` -> `List[pyot.models.val.match.MatchPlayerRoundStatData]`
* `round_result_code` -> `str`

Properties:

* *property* `bomb_defuser` -> `Account`
* *property* `bomb_planter` -> `Account`
* *property* `defuse_round_time` -> `datetime.timedelta`
* *property* `plant_round_time` -> `datetime.timedelta`

### *class* `MatchTeamData`

Type: `PyotStatic`

Attributes:

* `id` -> `str`
* `won` -> `bool`
* `rounds_played` -> `int`
* `rounds_won` -> `int`
* `num_points` -> `int`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pyot.iann838.com/models/val/match.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
