A Typescript client library for querying ballchasing.com built using Effect.
import { getClient } from '@lejeunerenard/ballchasing-api/easy'
const client = await getClient('YOUR_AUTH_KEY')
// Single Group
const group = await client.groups.get('2v2-w-scott-2023-12-20-kunazcz10y')
console.log('Single group', group)
// Group List
const groups = await client.groups.list({
creator: '76561197987055788' // SteamID
})
console.log('Groups', groups)
// Replay list
const meId = 'epic:9152ab3ef0bd44b59de47ca639ca7010'
const replays = await client.replays.list({
uploader: 'me',
'player-id': [meId]
})
console.log('Replays', replays)
// Single Replay
const replay = await client.replays.get('bdc27caf-fe82-4708-9f48-4f2561f93313')
console.log('Replay', replay)- Add automatic rate limiting based on Patreon tier
- Add parallel request support
| Method | URL | Doc Link | |
|---|---|---|---|
GET |
/ |
Ping | |
POST |
/v2/upload |
Upload | |
| X | GET |
/replays |
List/Filter replays |
| X | GET |
/replays/${id} |
Get a specific replay |
DELETE |
/replays/${id} |
Delete a replay | |
PATCH |
/replays/${id} |
Path a replay | |
GET |
/replays/${id}/file |
Download replay file | |
POST |
/groups |
Create a group | |
| X | GET |
/groups |
List/Filter groups |
| X | GET |
/groups/${id} |
Get a specific group |
DELETE |
/groups/${id} |
Delete a group | |
PATCH |
/groups/${id} |
Patch a group | |
GET |
/maps |
Maps |