Convenience wrappers binding the Genius family to the Basketball Africa League (men's; Genius ORG BAL, LiveStats ORG BAL). Season rule: calendar year (BAL 2025 = 2025); 2023 lists two competitions, so pass comp_id.
bal_competitions(): every competition of theBALorg, with its END-year season (genius_competitions()).bal_schedule(): every match of one season (genius_schedule()).bal_team_box(),bal_player_box(),bal_pbp(),bal_shots(): one finished game (genius_team_box(),genius_player_box(),genius_pbp(),genius_shots()).
Usage
bal_competitions(return_parsed = TRUE)
bal_schedule(season = NULL, comp_id = NULL, round_number = -1, return_parsed = TRUE)
bal_team_box(match_id, return_parsed = TRUE)
bal_player_box(match_id, return_parsed = TRUE)
bal_pbp(match_id, return_parsed = TRUE)
bal_shots(match_id, return_parsed = TRUE)Arguments
- season
END-year season (see the season rule).
NULL(default) = the newest season the org lists.- comp_id
Genius competition id; skips the season lookup (needed when the label rule matches several competitions).
- round_number
Round to list; -1 (default) lists every round.
- match_id
Genius match id (
match_idofbal_schedule()) of a game of this competition.- return_parsed
Parse into a tibble (default
TRUE);FALSEreturns the raw list.
Value
The base function's hoopR_data tibble, same columns and types (the raw list when return_parsed = FALSE) of each function:
bal_competitions(): the columns ofgenius_competitions().bal_schedule(): the columns ofgenius_schedule().bal_team_box(): the columns ofgenius_team_box().bal_player_box(): the columns ofgenius_player_box().bal_pbp(): the columns ofgenius_pbp().bal_shots(): the columns ofgenius_shots().
Details
The season's competition is picked from the BAL chooser by the label rule include = ., exclude = ^$ (case-insensitive); cups and play-offs have their own comp_id. Several matching competitions raise hoopR_bad_request (pass comp_id); none raises hoopR_no_data.
Genius match ids are one global sequence shared by every customer and data.json names no competition, so each game alias checks the id on the game's LiveStats shell (/u/BAL/<match_id>/: one extra request per game, cached per process for an hour): its competition name must pass the label rule. Another org's game, a cup or play-off game of BAL, or a shell request that fails twice (or names no competition) raises hoopR_asset_fetch. The base genius_*() function reads any game unchecked.
Access, proxy and error notes: see genius_game().
See also
Other Genius Functions:
esake_competition,
genius_competition_games(),
genius_competitions(),
genius_game(),
genius_game_crosswalk(),
genius_match_competition(),
genius_pbp(),
genius_player_box(),
genius_schedule(),
genius_schedule_embed(),
genius_shots(),
genius_team_box(),
genius_team_crosswalk(),
genius_widget_games(),
lnbm_competition,
lub_competition,
nznbl_competition,
slb_competition
