[开源分享] Doko - NodeJS SDK [v.1.4.0 (2022/09/11)]
王玉团子:JuerGenie
发布于 2022-09-04 09:38
🐦 Doko NodeJS SDK
⚡️Low-level, Easy and Simple.
v.1.4.0 (2022/09/11)
使用Typescript开发,能提供详尽的类型提示(大概,我尽量)
代码简单,开发快速,易于使用
拥有基于NPM的丰富生态,可快捷实现各种功能(只要善于搜索)
基于ESNext规范(一切按标准来)
因为4,所以虽然不确定能不能用,不过Deno和Bun.js也许可以试试
听说Deno要有大动作了,总之先期待一下
Bun.js真的很快!
📖 食用姿势
对使用者(机器人开发者)而言
创建一个项目
执行
npm: `npm install doko-sdk`
yarn: `yarn doko-sdk`
pnpm: `pnpm add doko-sdk`
创建 `index.js`
引入 `import { Doko } from "doko-sdk"`,并创建一个实例
监听任何你想监听的事件,做你任何想做的事情
调用 `Doko.start()` 启动机器人
你可以参考项目下的 example,一切从 `new Doko()` 开始,使用 `Doko.hook` 添加事件钩子,使用 `Doko.dodo` 调用API。
一切准备完毕后,使用 `Doko.start()` 让机器人开始它的旅程。
📝 Todo List
因为是自用SDK,所以实现优先级会以我自己的实际需求为准。
[🚧] 添加完整的API列表
[✅] 机器人API
[✅] 群API
[✅] 频道API
[✅] 文字频道API
[✅] 帖子频道API
[✅] 语音频道API
[✅] 身份组API
[✅] 成员API
[⌛️] 数字藏品API
[⌛️] 私信API
[⌛️] 资源API
[✅] 事件API
[✅] 添加完整的事件监听
[✅] 创建websocket链接
[✅] 监听群组成员Event
[✅] 监听文字频道Event
[✅] 监听帖子频道Event
[✅] 监听语音频道Event
[✅] 监听私信Event
[⌛️] 添加健壮性特性
[⌛️] 断线重连尝试
[🚧] 添加快捷使用方式
[✅] 消息事件快捷回复
[⌛️] JSX/TSX to CardMessage
[🚧] 代码式创建MessageBody
[✅] API便捷性封装
[✅] 机器人API
[✅] 群API
[✅] 频道API
[✅] 文字频道API
[✅] 帖子频道API
[✅] 身份组API
[✅] 成员API
[⌛️] Guide Documents
[🚧] 更多特性待添加...
⌛️:待完成 🚧:施工中 ✅:已完成
你可以在这里看到关于包的最新状态:doko-sdk - npm (npmjs.com)。
如果你对实现感兴趣,或者想贡献代码,可以在这里查看到源码:doko-sdk - npm (github.com),如果有时间的话,我会逐步完善贡献指引(如果真的有贡献者的话)。
🗓 更新记录
嘛,篇幅所限,这里只记录最近的10次更新吧,如果之后能支持收缩块的话就更好了。
也可以在此处查看完整的更新日志:JuerGenie/doko (github.com)
2022/09/11 - v.1.4.0
更新API命名,优化store初始化逻辑,添加logger工具。
移除cjs输出,只支持esm格式构建输出。
新增示例:「jan-ken-pon」。
Tips:因为我没朋友()所以没有测试过,不过脑测了一下流程应该没什么问题,有条件的话希望能帮我测试一下😊お願いします!
2022/09/08 - v.1.3.1
封装底层请求接口,调整接口注册方式。对事件进行增强,提供快捷回复函数。
例如:
快捷回复:
bot.hook.on(
"channel.message.text",
(data) => data.response({...})
)
管理成员身份组:
bot.dodo
.island()
// 锚定至指定群组,island可通过 bot.dodo.island().list() 获取
.with(island)
.role()
// 锚定至指定身份组,role可通过 role().list() 获取
.with(role)
.member()
.add(member);
// 此处的语义是「将指定member添加至身份组中」,
// 反之也可以通过从 member API 处进行操作,其语
// 义为「为member添加指定身份」
2022/09/06 - v.1.2.0
将 `DokoEvent` 更换至 `DokoHook`,提供hook机制,提供更好的hook相关的类型提示
2022/09/06 - v.1.1.0
同步 0.1.4 新增接口及事件
项目结构调整
😠 一点牢骚
啊——虽然在一个礼拜前就收到邮件然后打算做了,但是直到周末才有一点儿时间开始动手来着。
在此之前经历了平均一天面对电脑15小时的30日地狱……
不过总算是开始做了,虽然只是一个很简陋的雏形,只能提供基本的事件接收和频道消息发送。我想着先这样吧,凑合着用一用。然后想到也许社区中会有人用得到,于是就这么发出来了,万一遇到志同道合者一起合作也是好事。
说到typescript,开发过程中想到了不知道在哪看过的一句话:「使用typescript的库开发者有一半时间在和类型系统掐架」,感觉确实是这样呢(笑)。
——By JuerGenie,2022/09/04
嘛,一切随缘(x)
全部评论(4)