-
我之前使用koishi v1,通过node调用koishi,今天尝试迁移到koishi v3,遇到了一些问题。 1.创建App的参数问题 |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 7 replies
-
1.1 为什么协议和 id 是 Bot 分别持有的,而监听端口是整个 App 持有的?首先协议和 id 是每个 bot 分别持有的是很自然的一件事。监听端口作为 App 的配置项是出于性能考虑。开放尽可能少的端口,合并尽可能多的服务能够提高资源的利用率。Koishi 内置了 Koa 作为服务端框架,通过 Router 可以有效实现内容的分流。 如果您需要开放多个端口,可以单独开一个 feat request,描述您的使用场景,我会考虑加入对应的支持。 |
Beta Was this translation helpful? Give feedback.
-
1.2 无论是在快速上手页面还是在 API 的 App 页面都没有看到服务器地址参数,并且 VSC 也提示“server”不在类型“AppOptions”中?因为 import 'koishi-adapter-onebot'
new App({ server: 'http://localhost:5700' }) 关于「快速上手」章节,我承认目前做的还不太好。我也正在摸索如何通过文档更有效地传达信息,如果您有什么建议欢迎直接在下面告诉我。 |
Beta Was this translation helpful? Give feedback.
-
1.3 在 API 的 App 页面看到,协议的可选项是 onebot 和 kaiheila,但是在快速上手页面看到,协议默认填写的是 onebot:http。只要您的配置正确,无论将 type 配置成 onebot 还是 onebot:http 都是可以运行的。这是因为 Koishi v3 使用了 适配器重定向 技术,它能够自动根据您的配置选择所需的协议。或许在「快速上手」一章中,使用简单的 onebot 更合适。 |
Beta Was this translation helpful? Give feedback.
-
2 尝试将
|
Beta Was this translation helpful? Give feedback.
-
3 尝试将
|
Beta Was this translation helpful? Give feedback.
-
关于3,在Koishi的实际使用中其实很少会app.bots[],而是通过session来识别当前会话的信息,并且使用对应的方法。 |
Beta Was this translation helpful? Give feedback.
1.1 为什么协议和 id 是 Bot 分别持有的,而监听端口是整个 App 持有的?
首先协议和 id 是每个 bot 分别持有的是很自然的一件事。监听端口作为 App 的配置项是出于性能考虑。开放尽可能少的端口,合并尽可能多的服务能够提高资源的利用率。Koishi 内置了 Koa 作为服务端框架,通过 Router 可以有效实现内容的分流。
如果您需要开放多个端口,可以单独开一个 feat request,描述您的使用场景,我会考虑加入对应的支持。