A lib for BotArcApi with Typescript.
Install this package is very easy.
npm i botarcapi_lib
Follow the steps below:
-
Deploy a BotArcApi server at first. This step can just follow docs of BotArcApi.
-
Make sure you deploy the domain name of BotArcApi, such as
http://localhost:8088
. -
Choose a BotArcApi version you like, such as
v4
, then input codes below in your project:import BotArcApi from "botarcapi_lib" const { BotArcApiV4 } = BotArcApi const api = new BotArcApiV4("http://localhost:8088", 60000)
...or maybe you are using Node.js:
const { BotArcApiV4 } = require("botarcapi_lib"); const api = new BotArcApiV4("http://localhost:8088", 60000)
Otherwise, maybe you want to control other request config, so you can provide
AxiosRequestConfig
:import BotArcApi from "botarcapi_lib" const { BotArcApiV4 } = BotArcApi const api = new BotArcApiV4({ baseURL: "http://localhost:8088", timeout: 60000, headers: { "User-Agent": "SecretAPIUA" } })
-
Use APIs you like.
For example, you want to check the best 30 of Nagiha0798 and print result to console, you can:
import BotArcApi from "botarcapi_lib"
const { BotArcApiV4 } = BotArcApi
const api = new BotArcApiV4({
baseURL: "http://localhost:8088",
timeout: 60000,
headers: {
"User-Agent": "SecretAPIUA"
}
})
api.user.best30("Nagiha0798", true)
.then(console.log)
.catch(console.error)
...or you may like using async/await:
import BotArcApi from "botarcapi_lib"
const { BotArcApiV4 } = BotArcApi
const api = new BotArcApiV4({
baseURL: "http://localhost:8088",
timeout: 60000,
headers: {
"User-Agent": "SecretAPIUA"
}
})
async function b30() {
console.log(await api.user.best30("Nagiha0798", true))
}
b30()
This library integrates some practical functions.
To use these functions, you should import command at first:
import {
botArcApiDifficulty2DifficultyClass,
difficultyClass2String,
botArcApiDifficulty2String,
formatScore
} from "botarcapi_lib"
Then you may use functions you imported.
Convert BotArcApi Difficulty to Difficulty Class.
You may know, BotArcApi Difficulty is a number which >=2 and <=23. This function can convert number into an object:
{
rating: number
ratingPlus?: boolean
}
This format is also used in ArcaeaDifficultyClass.
import BotArcApi from "botarcapi_lib"
const {util} = BotArcApi
console.log(util.botArcApiDifficulty2DifficultyClass(21))
// { rating: 10, ratingPlus: true }
Convert Difficulty Class to string.
import BotArcApi from "botarcapi_lib"
const {util} = BotArcApi
console.log(util.difficultyClass2String({
rating: 10,
ratingPlus: true
}))
// 10+
import BotArcApi from "botarcapi_lib"
const {BotArcApiv4, util} = BotArcApi
const api = new BotArcApiv4("http://localhost:3000")
api.song.info("gl").then(info => {
const futureDifficultyClass = info.difficulties.filter(c => c.ratingClass === 2)[0]
console.log(util.difficultyClass2String(futureDifficultyClass)) // 11
})
Equals to difficultyClass2String(botArcApiDifficulty2DifficultyClass(/* arg */))
. Sweet!
import BotArcApi from "botarcapi_lib"
const {util} = BotArcApi
console.log(util.botArcApiDifficulty2String(21))
// 10+
Format score number into Arcaea score display format.
9901314
=> 09'901'314
import BotArcApi from "botarcapi_lib"
const {util} = BotArcApi
console.log(util.formatScore(10001540)) // 10'001'540
console.log(util.formatScore(9993506)) // 09'993'506
console.log(util.formatScore(12987)) // 00'012'987