# scoresaber-api-wrapper

> A wrapper for scoresaber API

Latest version **1.0.7** (published 2021-09-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install scoresaber-api-wrapper
pnpm add scoresaber-api-wrapper
yarn add scoresaber-api-wrapper
bun add scoresaber-api-wrapper
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.7 |
| Published | 2021-09-19 |
| First published | 2021-09-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=12.8.1 |
| Dependencies | 1 |
| Unpacked size | 20.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | oriel-beck |
| Maintainers | orielprogram |
| Keywords | wrapper, scoresaber, beatsaber, api |

## Links

- npm: https://www.npmjs.com/package/scoresaber-api-wrapper
- Repository: https://github.com/oriel-beck/scoresaber-api-wrapper
- Homepage: https://github.com/oriel-beck/scoresaber-api-wrapper#readme
- Issues: https://github.com/oriel-beck/scoresaber-api-wrapper/issues
- npm.io page: https://npm.io/package/scoresaber-api-wrapper

## Dependencies (1)

- [petitio](https://npm.io/package/petitio.md) ^1.2.1

## Recent versions

- 1.0.7 (latest) — 2021-09-19
- 1.0.6 — 2021-09-19
- 1.0.5 — 2021-09-19
- 1.0.4 — 2021-09-19
- 1.0.3 — 2021-09-19
- 1.0.2 — 2021-09-19
- 1.0.1 — 2021-09-19
- 1.0.0 — 2021-09-19

## README

# [scoresaber-api-wrapper](https://www.npmjs.com/package/scoresaber-api-wrapper)
Class based wrapper for **[ScoreSaber](https://new.scoresaber.com)**'s API with TypeScript typings.

## Installation

```npm install scoresaber-api-wrapper```

 - This module uses **[`petitio`](https://www.npmjs.com/package/petitio)** to make the API requests

## Usage

### Get a player
```js
const player = await getPlayer('1234...')

console.log(player.name) // example_name
```

### Find a player
```js
const players = await getPlayers('potato')

console.log(players) // Array of smaller player objects

// get full player profile
const player1 = players[0].getFullPlayer()
```

### Find a player score
## Method 1
```js
const player = await getPlayer('1234...')

const scores = await player.getScores('recent')

console.log(scores) // Array of scores
```
## Method 2
```js
const scores = await getPlayerScores('1234...', 'recent')

console.log(scores) // Array of scores
```

### Build a simple Discord Bot with [`discord.js`](https://www.npmjs.com/package/discord.js)

```js
const { getPlayer } = require("scoresaber-api-wrapper");
const Discord = require("discord.js");

const client = new Discord.Client();

const TOKEN = "abc123";
const PREFIX = "!";

client.once("ready", () => {
    console.log(`${client.user.tag} is logged in!`);
})

client.on("message", async (message) => {
    if (message.author.bot) return;
    //Check if the user used the !player command (make sure to check if they provided a player ID)
    if (message.content.startsWith(`${PREFIX}player`)) {
        const player = await getPlayer(message.content.split(' ')[1])

        message.channel.send(`Found the player ${player.name}`)
    }
})

//Login to Discord
client.login(TOKEN);
```

---
_Source: https://npm.io/package/scoresaber-api-wrapper · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
