1
0
forked from bot/app

📝 文档新增插件通信部分内容

This commit is contained in:
2024-10-26 02:34:58 +08:00
parent 4510477026
commit 7bf94a15c8
7 changed files with 61 additions and 69 deletions

View File

@ -7,9 +7,7 @@ order: 4
### 简介
轻雪运行在主进程 MainProcess 里,其他插件框架进程是伴随的子进程,因此无法通过内存共享和直接对象传递的方式进行通信
轻雪提供了一个通道[`Channel`](./api/comm/channel#class-channel-generic-t)用于跨进程通信,
你可以通过[`Channel`](./api/comm/channel#class-channel-generic-t)发送消息给其他进程,也可以监听其他进程的消息。
轻雪运行在主进程 MainProcess 里,有部分实现插件为了一些功能在子进程中运行,这样两个进程上下文是不会互相干扰的,因此无法通过共享内存和直接对象传递进行通信
例如子进程接收到用户信息需要重启机器人,这时可以通过通道对主进程发送消息,主进程接收到消息后重启对应子进程。

View File

@ -1,5 +1,5 @@
---
title: 轻雪插件开发
title: 插件开发
order: 3
---
@ -7,6 +7,16 @@ order: 3
轻雪插件是轻雪内置的一部分功能,运行在主进程中,可以很高程度地扩展轻雪的功能
插件大致可分为应用(Application)、实现(Implementation)及服务(Service)等几种类型,大部分情况下一个插件通常承担着多个责任,可按需调整
应用:从总线通道接收到消息后进行处理,响应,以实现某些功能,例如`echo`
实现:对接特定平台,把平台的消息转换为轻雪消息格式传入总线通道
服务提供一系列对外的ipc/rpc/http等服务供其他插件调用
我们鼓励使用`magicoca`进行对象传递来进行插件间通信而不是依赖关系,这样可以避免很多潜在的问题。
## 开始
### 创建插件