com.professorbutts.sports.defs

Shared types for com.professorbutts.sports records and the post-side scoreboard field.

Repository @professorbutts.com did:plc:x6njyeyi47bqs2kueuv3mrg5 not from the namespace authority
Details · defs
Kinddefs
Authoritysports.professorbutts.com
Indexed

#baseballBoxScore

object

Runs, hits, errors.

Properties

away

requiredref
Reference

home

requiredref
Reference

#baseballSituation

object

Baseball detail: count, outs and runners.

Properties

balls

integer
  • minimum: 0
  • maximum: 3

onFirst

boolean

onSecond

boolean

onThird

boolean

outs

integer
  • minimum: 0
  • maximum: 3

strikes

integer
  • minimum: 0
  • maximum: 2

#baseballTeamLine

object

Properties

errors

requiredinteger
  • minimum: 0

hits

requiredinteger
  • minimum: 0

leftOnBase

integer
  • minimum: 0

runs

requiredinteger
  • minimum: 0

#basketballBoxScore

object

Basketball team stats.

Properties

away

requiredref

home

requiredref

#basketballSituation

object

Basketball detail.

Properties

awayFouls

integer
  • minimum: 0
  • minimum: 0

bonus

string

Which team is shooting bonus free throws.

  • knownValues: home | away | both

homeFouls

integer

Team fouls this period.

  • minimum: 0
  • minimum: 0
  • knownValues: home | away

#basketballTeamStats

object

Properties

assists

integer
  • minimum: 0

blocks

integer
  • minimum: 0

Made-attempted, e.g. '31-68'.

  • maxLength: 8
  • maxLength: 8

rebounds

integer
  • minimum: 0

steals

integer
  • minimum: 0
  • maxLength: 8

turnovers

integer
  • minimum: 0

#competitor

object

Properties

  • maxLength: 8

color

string

Primary hex color, e.g. '#FB4F14'.

  • maxLength: 7

logoUrl

string · uri

Team logo image URL. Viewers may use it when there's no logo blob.

  • maxLength: 512

name

requiredstring
  • maxLength: 128

profile

string · did

Optional atproto account for the team.

rank

integer

Poll ranking (college), e.g. 5 for #5.

  • minimum: 1
  • maximum: 99

record

string

Season record, e.g. '6-3'.

  • maxLength: 16

score

requiredinteger
  • minimum: 0

Secondary hex color for stripes, e.g. '#000000'.

  • maxLength: 7

#entrant

object

One player, driver or team in a leaderboard.

Properties

color

string

Hex team color.

  • maxLength: 7

country

string

ISO 3166-1 alpha-3, for a flag.

  • maxLength: 3

detail

string

Secondary figure as shown, e.g. golf 'Thru 14', race '72 laps', a time '1:12.345'.

  • maxLength: 16

laps

integer

Racing: laps completed.

  • minimum: 0

lapsLed

integer

Racing: laps led (NASCAR).

  • minimum: 0

members

array

Standings: the drivers in a constructor or team, with their own places.

  • maxLength: 4
itemsref
Reference

name

requiredstring
  • maxLength: 128

number

string

Car number.

  • maxLength: 4

photoUrl

string · uri
  • maxLength: 512

points

integer

Points earned in this session, or season total on a standings record.

  • minimum: 0

position

integer

Numeric place, for sorting.

  • minimum: 1

Place as shown, e.g. 'T3', 'CUT', 'DNF'.

  • maxLength: 8

profile

string · did

Optional atproto account.

rounds

array

Golf: strokes per completed round.

  • maxLength: 6
itemsinteger
  • minimum: 0

score

string

Main figure as shown: golf to-par ('-12', 'E'), race gap ('+3.214', '+1 lap'), or points.

  • maxLength: 16

shortName

string

e.g. 'S. Scheffler', 'VER'.

  • maxLength: 32

state

string

Racing/golf status of this entrant.

  • knownValues: active | finished | pit | out | cut | withdrawn | dnf | dsq

team

string

Constructor or race team, e.g. 'Red Bull Racing', 'Hendrick Motorsports'.

  • maxLength: 64

thru

string

Golf: holes completed this round, 'F' when done.

  • maxLength: 4

toPar

integer

Golf: total relative to par.

today

string

Golf: this round to par, e.g. '-4'.

  • maxLength: 8

#footballBoxScore

object

Football team stats.

Properties

away

requiredref
Reference

home

requiredref
Reference

#footballSituation

object

Football detail: who has the ball, down and distance, field position.

Properties

distance

integer
  • minimum: 0

down

integer
  • minimum: 1
  • maximum: 4
  • knownValues: home | away

yardLine

string
  • maxLength: 16

#footballTeamStats

object

Properties

firstDowns

integer
  • minimum: 0
  • minimum: 0

penalties

integer
  • minimum: 0
  • minimum: 0

sacks

integer
  • minimum: 0

e.g. '5-12'.

  • maxLength: 8

e.g. '31:12'.

  • maxLength: 8

totalYards

integer
  • minimum: 0

turnovers

integer
  • minimum: 0

#golfProgress

object

Golf tournament progress.

Properties

cutLine

string

Projected or actual cut, e.g. '+1'.

  • maxLength: 8

playoff

boolean

round

integer
  • minimum: 1
  • maximum: 6
  • minimum: 1
  • maximum: 6

#hockeySituation

object

Hockey detail.

Properties

  • minimum: 3
  • maximum: 6

emptyNet

string
  • knownValues: home | away | both
  • minimum: 3
  • maximum: 6

powerPlay

string
  • knownValues: home | away

#leaderboardSnapshot

object

Copy 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

capturedAt

requiredstring · datetime

standings

requiredarray
  • maxLength: 10
itemsref
Reference

status

requiredstring
  • knownValues: scheduled | live | halftime | final | postponed | canceled

#lineScore

object

Score by period, for any sport.

Properties

periods

requiredarray
  • maxLength: 30
itemsref
Reference

#member

object

A driver within a constructor/team standings row, with their own standing.

Properties

name

requiredstring
  • maxLength: 128

points

integer
  • minimum: 0

position

integer
  • minimum: 1
  • maxLength: 8

score

string
  • maxLength: 16

shortName

string
  • maxLength: 32

#period

object

Properties

label

string

Display label, e.g. 'Q3', 'Top 7th', '2nd Half', 'OT'.

  • maxLength: 16

number

requiredinteger
  • minimum: 0

#periodScore

object

Properties

away

requiredinteger
  • minimum: 0

home

requiredinteger
  • minimum: 0

label

requiredstring

e.g. 'Q1', '7', 'OT'.

  • maxLength: 16

#raceProgress

object

Motorsport race progress.

Properties

flag

string
  • knownValues: green | yellow | red | checkered | safetyCar | virtualSafetyCar | white

lap

integer
  • minimum: 0

session

string
  • knownValues: practice | qualifying | sprint | race

stage

integer

NASCAR stage.

  • minimum: 1

totalLaps

integer
  • minimum: 0

#snapshot

object

Copy 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.

Properties

awayScore

requiredinteger
  • minimum: 0

capturedAt

requiredstring · datetime

clock

string
  • maxLength: 16

homeScore

requiredinteger
  • minimum: 0
Reference

status

requiredstring
  • knownValues: scheduled | live | halftime | final | postponed | canceled

#soccerSituation

object

Soccer detail.

Properties

  • minimum: 0
  • minimum: 0

Announced added minutes, e.g. '3'.

  • maxLength: 4

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • com.professorbutts.sports.game

    record not from the namespace authority

    A single sporting event and its current state. One record per game, updated in place as the game progresses.

  • com.professorbutts.sports.scoreboard

    object not from the namespace authority

    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.

  • com.professorbutts.sports.leaderboard

    record not from the namespace authority

    A multi-competitor event (golf tournament, F1 or NASCAR race) and its current standings. One record per event, updated in place.

  • com.professorbutts.sports.standings

    record not from the namespace authority

    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.