com.professorbutts.sports.defs
Shared types for com.professorbutts.sports records and the post-side scoreboard field.
Details · defs
| Kind | defs |
|---|---|
| Authority | sports.professorbutts.com |
| Indexed |
#baseballBoxScore
objectRuns, hits, errors.
Properties
#baseballSituation
objectBaseball detail: count, outs and runners.
#baseballTeamLine
objectProperties
#basketballBoxScore
objectBasketball team stats.
Properties
#basketballSituation
objectBasketball detail.
Properties
awayFouls
integerminimum: 0
awayTimeouts
integerminimum: 0
bonus
stringWhich team is shooting bonus free throws.
knownValues: home | away | both
homeFouls
integerTeam fouls this period.
minimum: 0
homeTimeouts
integerminimum: 0
possession
stringknownValues: home | away
#basketballTeamStats
objectProperties
assists
integerminimum: 0
blocks
integerminimum: 0
fieldGoals
stringMade-attempted, e.g. '31-68'.
maxLength: 8
freeThrows
stringmaxLength: 8
rebounds
integerminimum: 0
steals
integerminimum: 0
threePointers
stringmaxLength: 8
turnovers
integerminimum: 0
#competitor
objectProperties
abbreviation
stringmaxLength: 8
color
stringPrimary hex color, e.g. '#FB4F14'.
maxLength: 7
logo
blobmaxSize: 200000accept: image/png, image/svg+xml, image/webp
logoUrl
string · uriTeam logo image URL. Viewers may use it when there's no logo blob.
maxLength: 512
maxLength: 128
profile
string · didOptional atproto account for the team.
rank
integerPoll ranking (college), e.g. 5 for #5.
minimum: 1maximum: 99
record
stringSeason record, e.g. '6-3'.
maxLength: 16
minimum: 0
secondaryColor
stringSecondary hex color for stripes, e.g. '#000000'.
maxLength: 7
#entrant
objectOne player, driver or team in a leaderboard.
Properties
color
stringHex team color.
maxLength: 7
country
stringISO 3166-1 alpha-3, for a flag.
maxLength: 3
detail
stringSecondary figure as shown, e.g. golf 'Thru 14', race '72 laps', a time '1:12.345'.
maxLength: 16
laps
integerRacing: laps completed.
minimum: 0
lapsLed
integerRacing: laps led (NASCAR).
minimum: 0
members
arrayStandings: the drivers in a constructor or team, with their own places.
maxLength: 4
maxLength: 128
number
stringCar number.
maxLength: 4
photoUrl
string · urimaxLength: 512
points
integerPoints earned in this session, or season total on a standings record.
minimum: 0
position
integerNumeric place, for sorting.
minimum: 1
positionLabel
stringPlace as shown, e.g. 'T3', 'CUT', 'DNF'.
maxLength: 8
profile
string · didOptional atproto account.
rounds
arrayGolf: strokes per completed round.
maxLength: 6
minimum: 0
score
stringMain figure as shown: golf to-par ('-12', 'E'), race gap ('+3.214', '+1 lap'), or points.
maxLength: 16
shortName
stringe.g. 'S. Scheffler', 'VER'.
maxLength: 32
state
stringRacing/golf status of this entrant.
knownValues: active | finished | pit | out | cut | withdrawn | dnf | dsq
team
stringConstructor or race team, e.g. 'Red Bull Racing', 'Hendrick Motorsports'.
maxLength: 64
thru
stringGolf: holes completed this round, 'F' when done.
maxLength: 4
toPar
integerGolf: total relative to par.
today
stringGolf: this round to par, e.g. '-4'.
maxLength: 8
#footballBoxScore
objectFootball team stats.
Properties
#footballSituation
objectFootball detail: who has the ball, down and distance, field position.
Properties
distance
integerminimum: 0
down
integerminimum: 1maximum: 4
possession
stringknownValues: home | away
yardLine
stringmaxLength: 16
#footballTeamStats
objectProperties
firstDowns
integerminimum: 0
passingYards
integerminimum: 0
penalties
integerminimum: 0
rushingYards
integerminimum: 0
sacks
integerminimum: 0
thirdDowns
stringe.g. '5-12'.
maxLength: 8
timeOfPossession
stringe.g. '31:12'.
maxLength: 8
totalYards
integerminimum: 0
turnovers
integerminimum: 0
#golfProgress
objectGolf tournament progress.
Properties
cutLine
stringProjected or actual cut, e.g. '+1'.
maxLength: 8
playoff
booleanround
integerminimum: 1maximum: 6
totalRounds
integerminimum: 1maximum: 6
#hockeySituation
objectHockey detail.
Properties
awaySkaters
integerminimum: 3maximum: 6
emptyNet
stringknownValues: home | away | both
homeSkaters
integerminimum: 3maximum: 6
powerPlay
stringknownValues: home | away
#leaderboardSnapshot
objectCopy of a leaderboard when a post was made: top of the field plus anyone the post is about. Also used for posts about a standings record.
Properties
progress
unionWhere a leaderboard event stands. Open.
knownValues: scheduled | live | halftime | final | postponed | canceled
#lineScore
objectScore by period, for any sport.
Properties
maxLength: 30
#member
objectA driver within a constructor/team standings row, with their own standing.
#period
object#periodScore
object#raceProgress
objectMotorsport race progress.
#snapshot
objectCopy of the game state when a post was made. Game records are overwritten as the game goes on, so the post carries its own copy.
#soccerSituation
objectSoccer detail.
Properties
awayRedCards
integerminimum: 0
homeRedCards
integerminimum: 0
stoppageTime
stringAnnounced added minutes, e.g. '3'.
maxLength: 4
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A single sporting event and its current state. One record per game, updated in place as the game progresses.
-
Field on app.bsky.feed.post (key 'com.professorbutts.sports.scoreboard') that points the post at a live game record. Sits beside a normal app.bsky.embed.external link card, which is what clients without scoreboard support show. Supporting clients show the snapshot first and reveal the live game on tap. Replaces com.professorbutts.sports.attachment.
-
A multi-competitor event (golf tournament, F1 or NASCAR race) and its current standings. One record per event, updated in place.
-
Season standings for a leaderboard sport: F1 drivers' or constructors' championship, NASCAR points, golf rankings. Shown when no event is on. One record per table, updated in place.