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 |