66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# Better uwuzu SDK
|
|
[uwuzu.js](https://github.com/PutonFPS/uwuzu.js)みたいなやつです。uwuzuのAPIがいじれます。
|
|
|
|
# 使い方
|
|
## インストール
|
|
```bash
|
|
# npm
|
|
npm install git+https://gitea.last2014.com/last2014/better-uwuzu-sdk.git#1.1.7
|
|
|
|
# yarn
|
|
yarn add git+https://gitea.last2014.com/last2014/better-uwuzu-sdk.git#1.1.7
|
|
|
|
# pnpm
|
|
pnpm add git+https://gitea.last2014.com/last2014/better-uwuzu-sdk.git#1.1.7
|
|
```
|
|
> **NOTE**
|
|
> このSDKはnpmリポジトリがありません。Gitリポジトリを使用しています。
|
|
|
|
> **WARNING**
|
|
> `#main`でのインストールもできますが破壊的変更の際に面倒だと思います。サポートしません。
|
|
|
|
## 初期化
|
|
```ts
|
|
import uwuzu from "better-uwuzu-sdk";
|
|
import type ApiMap from "better-uwuzu-sdk/1.6.8/map";
|
|
import Parser from "better-uwuzu-sdk/1.6.8/parser";
|
|
|
|
const client = new uwuzu<ApiMap>({
|
|
origin: "https://uwuzu.net",
|
|
parser: Parser,
|
|
});
|
|
|
|
try {
|
|
client.token = "APITOKEN";
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
```
|
|
型とJSDoc見ればわかります。トークンはなくても`serverinfo-api`や`token/get`は動きますが大体の事例では入れると思います。`uwuzu().token`の`set`は検証を行うわけではありませんが64文字でない、空文字列であるなどの場合はエラーが発生します。
|
|
|
|
## APIリクエスト
|
|
```ts
|
|
import uwuzu from "better-uwuzu-sdk";
|
|
import type ApiMap from "better-uwuzu-sdk/1.6.8/map";
|
|
import Parser from "better-uwuzu-sdk/1.6.8/parser";
|
|
|
|
const client = new uwuzu<ApiMap>({
|
|
origin: "https://uwuzu.net",
|
|
parser: Parser,
|
|
});
|
|
|
|
try {
|
|
client.token = "APITOKEN";
|
|
|
|
const me = await client.request("me/");
|
|
|
|
if (me.error_code) {
|
|
throw new Error(me.error_code);
|
|
}
|
|
|
|
console.log(`あなたは${me.username}です。`);
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
```
|
|
普通のSDKです。`uwuzu().request()`の第一引数はエンドポイント、第二引数はbodyです。bodyにトークンは自動入力されるので上記の例のように省略できます。 |