Skip to content

Commit

Permalink
v1.0.0 完善README、增添新的api
Browse files Browse the repository at this point in the history
  • Loading branch information
kamenomi-dev committed Jul 23, 2024
1 parent c3927d8 commit 4b671bc
Show file tree
Hide file tree
Showing 23 changed files with 1,156 additions and 2,448 deletions.
2,372 changes: 2 additions & 2,370 deletions package-lock.json

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "onebot-client-next",
"type": "commonjs",
"version": "0.0.5",
"version": "1.0.0",
"description": "A QQ bot library supports onebot v11 protocol based on LLOneBot",
"main": "./lib/bundle.js",
"main": "./lib/index.js",
"types": "./lib/index.d.ts",
"scripts": {
"dev": "npx mocha",
Expand All @@ -12,6 +12,10 @@
"clean": "",
"build": "npm run clean && npx tsc -build"
},
"repository": {
"type": "git",
"url": "https://github.com/kamenomi-dev/Onebot-Client-Next.git"
},
"keywords": [
"qq",
"qqbot",
Expand All @@ -23,16 +27,14 @@
"devDependencies": {
"@types/ws": "^8.5.11",
"mocha": "^10.6.0",
"tslib": "^2.6.3",
"ts-node": "^10.9.2",
"tslib": "^2.6.3",
"typedoc": "^0.26.4",
"typescript": "^5.5.3"
},
"dependencies": {
"eventemitter3": "^5.0.1",
"i": "^0.3.7",
"js-logger": "^1.6.1",
"npm": "^10.8.2",
"ws": "^8.18.0"
},
"files": [
Expand Down
56 changes: 37 additions & 19 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,59 @@
# Onebot-Client-Next
<center><h1>Onebot Client Next</h1></center>

Onebot v11 客户端开发 SDK
<center><img src="https://img.shields.io/npm/v/onebot-client-next"><img src="https://img.shields.io/github/release-date/kamenomi-dev/Onebot-Client-Next"><img src="https://img.shields.io/github/stars/kamenomi-dev/Onebot-Client-Next"><img src="https://img.shields.io/github/license/kamenomi-dev/Onebot-Client-Next"></center>

> 谢谢来自 [凉菜](https://github.com/lc-cn) 仓库 [onebot-client](https://github.com/lc-cn/onebot-client) 的架构支持,本仓库由此进行重构。
<center>一个基于 Onebot v11 协议开发的客户端 SDK</center>

<center> 本仓库参考自 <a herf="https://github.com/lc-cn/onebot-client">Onebot-Client</a> 架构</center>

<center><a herf="https://t.me/+5j_1ne6eJ-s5YjZl" ><img width=10%
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMCAwIDUuMzczIDAgMTJzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQyNSAxMS44NzFhNzk2LjQxNCA3OTYuNDE0IDAgMCAxIDYuOTk0LTMuMDE4YzMuMzI4LTEuMzg4IDQuMDI3LTEuNjI4IDQuNDc3LTEuNjM4LjEgMCAuMzIuMDIuNDcuMTQuMTIuMS4xNS4yMy4xNy4zMy4wMi4xLjA0LjMxLjAyLjQ3LS4xOCAxLjg5OC0uOTYgNi41MDQtMS4zNiA4LjYyMi0uMTcuOS0uNSAxLjE5OS0uODE5IDEuMjI5LS43LjA2LTEuMjI5LS40Ni0xLjg5OC0uOS0xLjA2LS42ODktMS42NDktMS4xMTktMi42NzgtMS43OTgtMS4xOS0uNzgtLjQyLTEuMjA5LjI2LTEuOTA4LjE4LS4xOCAzLjI0Ny0yLjk3OCAzLjMwNy0zLjIyOC4wMS0uMDMuMDEtLjE1LS4wNi0uMjEtLjA3LS4wNi0uMTctLjA0LS4yNS0uMDItLjExLjAyLTEuNzg4IDEuMTQtNS4wNTYgMy4zNDgtLjQ4LjMzLS45MDkuNDktMS4yOTkuNDgtLjQzLS4wMS0xLjI0OC0uMjQtMS44NjgtLjQ0LS43NS0uMjQtMS4zNDktLjM3LTEuMjk5LS43OS4wMy0uMjIuMzMtLjQ0Ljg5LS42NjlaIiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTEuOTkiIHkxPSIwIiB4Mj0iMTEuOTkiIHkyPSIyMy44MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMyQUFCRUUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyMjlFRDkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4K"></a><a><img with=10% ></center>

## 安装
## 目录

[toc]

## 注意事项

> [!IMPORTANT]
>
> 本项目主要对 [LLOnebot](https://github.com/LLOneBot/LLOneBot) 的 Onebot v11 协议接口进行封装,不保证提供的数据是否真实。
> [!CAUTION]
>
> 在本项目或其衍生、依赖项目等有依赖于 [QQNTLiteLoader]([LiteLoaderQQNT/LiteLoaderQQNT: QQNT 插件加载器:LiteLoaderQQNT —— 轻量 · 简洁 · 开源 (github.com)](https://github.com/LiteLoaderQQNT/LiteLoaderQQNT)) 的项目出现问题、需要反馈时,请勿在简中互联网中的平台上(例如 QQ、哔哩哔哩、知乎 等服务平台)进行以包含但不止截图、文本的形式反馈。
> [!CAUTION]
>
> 请勿将本项目或其衍生、依赖项目等传播在简中互联网的平台上。本项目本意在为个人开发者提供便利。


## 安装方式

使用 npm 包管理器:

`npm i onebot-client-next`



## 使用方式

Part1. 连接服务器。
## 简单例子

```typescript
import { Client } from "onebot-client-next"
const client = new Client(/*QQ号*/, {
websocket_address: "", /* websocket 正/反向连接 */
access_token: "", /* 鉴权 token,可选 */
});

client.Start().then(() => {
// to do so.
const client = new Client(114514, {
websocket_address: "ws://127.0.0.1:8080",
access_token: "452AFF0CC359C86C"
})
```



Part2. 监听事件
client.Start().then(() => {
// 在成功连接后做点什么...
});

```typescript
// todo
client.on("message.group", (message) => {
// 处理消息。
});
```


Expand Down
12 changes: 12 additions & 0 deletions src/base_client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ export class BaseClient extends EventEmitter<
this.logger = Logger.get(`OnebotClient.BaseClient.${bot_user_id}`);
}

/**
* Connect to Websocket Server
* @async
*/
public Connect() {
return new Promise<void>((resolve) => {
this.connection = new WebSocket(this.config.websocket_address, {
Expand All @@ -58,13 +62,21 @@ export class BaseClient extends EventEmitter<
});
}

/**
* Disconnect to the Websocket Server
*/
public Disconnect() {
if (this.connection) {
this.connection.close();
this.connection = undefined;
}
}

/**
* CallApi
* @param action api
* @param args arguments of api
*/
public CallApi<T extends keyof IOnebotExports, R extends IOnebotExports[T]>(
action: T,
...args: Parameters<R>
Expand Down
Loading

0 comments on commit 4b671bc

Please sign in to comment.