mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-07-28 08:41:29 +00:00
Replace "酷 Q" with "酷Q"
This commit is contained in:
@ -1,20 +1,20 @@
|
||||
# 发生了什么?
|
||||
|
||||
上一章中我们已经运行了一个最小的 NoneBot 实例,在看着 QQ 机器人回复了自己的消息的同时,你可能想问,这是如何实现的?具体来说,NoneBot、CoolQ HTTP API 插件、酷 Q,这三者是如何协同工作的?本章将对这个问题做一个初步解答。
|
||||
上一章中我们已经运行了一个最小的 NoneBot 实例,在看着 QQ 机器人回复了自己的消息的同时,你可能想问,这是如何实现的?具体来说,NoneBot、CoolQ HTTP API 插件、酷Q,这三者是如何协同工作的?本章将对这个问题做一个初步解答。
|
||||
|
||||
::: tip 提示
|
||||
如果你已经有较丰富的 QQ 机器人开发经验,尤其是使用 CoolQ HTTP API 插件的经验,可以直接跳到 [NoneBot 出场](#nonebot-出场)。
|
||||
:::
|
||||
|
||||
## 一切从酷 Q 开始
|
||||
## 一切从 酷Q 开始
|
||||
|
||||
我们在 [概览](/guide/) 中提到过,酷 Q 扮演着「无头 QQ 客户端」的角色,一切的消息、通知、请求的发送和接收,最根本上都是由它来完成的,我们的最小 NoneBot 实例也不例外。
|
||||
我们在 [概览](/guide/) 中提到过,酷Q 扮演着「无头 QQ 客户端」的角色,一切的消息、通知、请求的发送和接收,最根本上都是由它来完成的,我们的最小 NoneBot 实例也不例外。
|
||||
|
||||
首先,我们向机器人发送的 `/echo 你好,世界` 进入腾讯的服务器,后者随后会把消息推送给酷 Q,就像推送给一个真正的 QQ 客户端一样。到这里,酷 Q 就已经收到了我们发送的消息了。
|
||||
首先,我们向机器人发送的 `/echo 你好,世界` 进入腾讯的服务器,后者随后会把消息推送给 酷Q,就像推送给一个真正的 QQ 客户端一样。到这里,酷Q 就已经收到了我们发送的消息了。
|
||||
|
||||
## 进入 CoolQ HTTP API 插件
|
||||
|
||||
酷 Q 在收到消息之后,按优先级依次将消息转交给已启用的各插件处理,在我们的例子中,只有一个插件,就是 CoolQ HTTP API 插件。
|
||||
酷Q 在收到消息之后,按优先级依次将消息转交给已启用的各插件处理,在我们的例子中,只有一个插件,就是 CoolQ HTTP API 插件。
|
||||
|
||||
CoolQ HTTP API 插件收到消息后,会将其包装为一个统一的事件格式,并对消息内容进行一个初步的处理,例如编码转换、数组化、CQ 码增强等,这里的细节目前为止不需要完全明白,在需要的时候,可以去参考 CoolQ HTTP API 插件的 [文档](https://cqhttp.cc/docs/)。
|
||||
|
||||
@ -79,10 +79,10 @@ async def echo(session: CommandSession):
|
||||
|
||||
## 再次进入 CoolQ HTTP API 插件
|
||||
|
||||
命令处理器在调用 `session.send()` 之后,NoneBot 把消息内容发送给了 CoolQ HTTP API 插件那边已连接的反向 WebSocket 客户端,同时告诉它要把消息发送到和收到消息相同的地方(即接收到消息所在的群组、讨论组或私聊)。CoolQ HTTP API 插件明白了 NoneBot 的要求之后,会对消息做一些必要的处理,然后按照指示调用酷 Q 提供的相应接口。
|
||||
命令处理器在调用 `session.send()` 之后,NoneBot 把消息内容发送给了 CoolQ HTTP API 插件那边已连接的反向 WebSocket 客户端,同时告诉它要把消息发送到和收到消息相同的地方(即接收到消息所在的群组、讨论组或私聊)。CoolQ HTTP API 插件明白了 NoneBot 的要求之后,会对消息做一些必要的处理,然后按照指示调用 酷Q 提供的相应接口。
|
||||
|
||||
## 一切又在酷 Q 结束
|
||||
## 一切又在 酷Q 结束
|
||||
|
||||
酷 Q 收到 CoolQ HTTP API 插件的接口调用之后,将消息内容发送给腾讯的服务器,就像一个真正的 QQ 客户端一样,于是你就收到了 QQ 机器人发来的消息了。
|
||||
酷Q 收到 CoolQ HTTP API 插件的接口调用之后,将消息内容发送给腾讯的服务器,就像一个真正的 QQ 客户端一样,于是你就收到了 QQ 机器人发来的消息了。
|
||||
|
||||
至此,我们已经理清楚了第一次对话中每一步到底都发生了些什么,以及 NoneBot 如何解析消息并调用到相应的命令处理器来进行回复。下面的几章中我们将一步一步地对最小 NoneBot 实例进行扩充,以实现一些非常棒的功能!
|
||||
|
Reference in New Issue
Block a user