I'm trying to create a hand history according to the spec at handhistory.org, which I saw in another post that PT supports. My sample hand in this format is pasted below (I'd attach it, but the extension .ohh isn't allowed). When I try to import that file into PT, I get the error "Error: Standardized: Invalid stack: Player1 (Hand #7575-72) (Line #345)", which I can't figure out since Player1's "starting_stack" value is a decimal, as it ought to be. Any thoughts? I realize it's not your business to validate custom-built hand histories for users, but I don't know how else to validate this, and I'm pretty thrown by the error. Thank you so much.
- Code: Select all
{"ohh":
{
"spec_version": "1.3.0",
"site_name": "A Poker Mavens Game",
"network_name": "Poker Mavens",
"internal_version": "6.24",
"game_number": "7575-72",
"start_date_utc": "2020-08-01T00:00:00Z",
"table_name": "$0.50-$1.00 Cash Game",
"table_handle": "$0.50-$1.00 Cash Game",
"table_skin": "Skin 1",
"game_type": "Holdem",
"bet_limit": {
"bet_type": "NL",
"bet_cap": null
},
"table_size": 10,
"currency": "USD",
"dealer_seat": 4,
"small_blind_amount": 0.50,
"big_blind_amount": 1.00,
"ante_amount": 0,
"hero_player_id": 8,
"flags": null,
"players": [
{
"id": 1,
"seat": 1,
"name": "Player1",
"display": "Player1",
"starting_stack": 159.75,
"player_bounty": null
},
{
"id": 2,
"seat": 4,
"name": "Player2",
"display": "Player2",
"starting_stack": 46.00,
"player_bounty": null
},
{
"id": 3,
"seat": 5,
"name": "Player3",
"display": "Player3",
"starting_stack": 198.25,
"player_bounty": null
},
{
"id": 4,
"seat": 6,
"name": "Player4",
"display": "Player4",
"starting_stack": 63.75,
"player_bounty": null
},
{
"id": 5,
"seat": 7,
"name": "Player5",
"display": "Player5",
"starting_stack": 140.00,
"player_bounty": null
},
{
"id": 6,
"seat": 8,
"name": "Player6",
"display": "Player6",
"starting_stack": 313.00,
"player_bounty": null
},
{
"id": 7,
"seat": 9,
"name": "Player7",
"display": "Player7",
"starting_stack": 227.75,
"player_bounty": null
},
{
"id": 8,
"seat": 10,
"name": "Player8",
"display": "Player8",
"starting_stack": 93.50,
"player_bounty": null
}
],
"rounds": [
{
"id": 0,
"street": "Preflop",
"cards": [],
"actions": [
{
"action_number": 0,
"player_id": 3,
"action": "Post SB",
"amount": 0.50,
"is_allin": false,
"cards": null
},
{
"action_number": 1,
"player_id": 4,
"action": "Post BB",
"amount": 1.00,
"is_allin": false,
"cards": null
},
{
"action_number": 2,
"player_id": 8,
"action": "Dealt Cards",
"amount": null,
"is_allin": false,
"cards": [
"6h",
"6s"
]
},
{
"action_number": 3,
"player_id": 5,
"action": "Raise",
"amount": 3.00,
"is_allin": false,
"cards": null
},
{
"action_number": 4,
"player_id": 6,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 5,
"player_id": 7,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 6,
"player_id": 8,
"action": "Call",
"amount": 3.00,
"is_allin": false,
"cards": null
},
{
"action_number": 7,
"player_id": 1,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 8,
"player_id": 2,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 9,
"player_id": 3,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 10,
"player_id": 4,
"action": "Call",
"amount": 2.00,
"is_allin": false,
"cards": null
}
]
},
{
"id": 1,
"street": "Flop",
"cards": [
"2c",
"Ah",
"8s"
],
"actions": [
{
"action_number": 0,
"player_id": 4,
"action": "Check",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 1,
"player_id": 5,
"action": "Check",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 2,
"player_id": 8,
"action": "Bet",
"amount": 6.00,
"is_allin": false,
"cards": null
},
{
"action_number": 3,
"player_id": 4,
"action": "Fold",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 4,
"player_id": 5,
"action": "Call",
"amount": 6.00,
"is_allin": false,
"cards": null
}
]
},
{
"id": 2,
"street": "Turn",
"cards": [
"8d"
],
"actions": [
{
"action_number": 0,
"player_id": 5,
"action": "Check",
"amount": null,
"is_allin": false,
"cards": null
},
{
"action_number": 1,
"player_id": 8,
"action": "Check",
"amount": null,
"is_allin": false,
"cards": null
}
]
},
{
"id": 3,
"street": "River",
"cards": [
"6c"
],
"actions": [
{
"action_number": 0,
"player_id": 5,
"action": "Bet",
"amount": 21.50,
"is_allin": false,
"cards": null
},
{
"action_number": 1,
"player_id": 8,
"action": "Raise",
"amount": 84.50,
"is_allin": true,
"cards": null
},
{
"action_number": 2,
"player_id": 5,
"action": "Call",
"amount": 63.00,
"is_allin": false,
"cards": null
}
]
},
{
"id": 4,
"street": "Showdown",
"cards": [],
"actions": [
{
"action_number": 0,
"player_id": 5,
"action": "Shows Cards",
"amount": null,
"is_allin": false,
"cards": [
"Js",
"As"
]
},
{
"action_number": 1,
"player_id": 8,
"action": "Shows Cards",
"amount": null,
"is_allin": true,
"cards": [
"6h",
"6s"
]
}
]
}
],
"pots": [
{
"number": 0,
"amount": 190.50,
"rake": 0,
"player_wins": [
{
"player_id": 8,
"win_amount": 190.50,
"contributed_rake": 0
}
]
}
]
}
}