Skip to content

Client 核心类重写

v3 不再内置底层通讯工具库,改为对接外部 OneBot 实现来进行消息通讯,目前暂时仅支持 OneBot v11。可于 OneBot 生态 中查看可以使用的相关实现端。

我们在尽可能保证原来开发习惯的前提下对 bot.client 核心库进行了重写,现其核心代码位于 src/module/lib 下,其方法调用风格与 oicq@v1 类似。

你需要对核心库的导入方式进行一定程度的修改:

ts
// v2
import * as sdk from "icqq";
// v3
import * as sdk from "@/module/lib";

client 核心类相关内容可以参考 Client

获取可发送的数据格式

我们提供了 segment 工具对象来快速生成可发送的各种数据格式,并支持以数组的方式进行组合发送。详细可以参考 src/modules/lib/element.ts;

ts
import * as sdk from "@/modules/lib";

client.sendPrivateMsg( 114514191, [
    sdk.segment.at( 114514190 ),
    "艾特你一下,wink~",
    sdk.segment.face( 1 )
] );

当然你也可以不借助 segment,自行组装支持发送的数据格式 Sendable。详情可参考 src/modules/lib/types/element/send.ts;

ts
/** 可用来发送的类型集合 */
export type Sendable = string | MessageElem | (string | MessageElem)[];

一些其他的核心方法

  • sdk.toCqCode(): 将 MessageElem 类型数组转变为 cqcode 码的格式。
  • sdk.toMessageRecepElem(): 将 cqcode 码转换为事件接收到的格式的对象 MessageRecepElem[];

Released under the MIT License.