mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-20 23:25:35 +08:00
change ALL docs from MkDocs to VuePress!!
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Token 验证
|
||||
# 接入安全验证 - Token
|
||||
|
||||
为了保障安全,框架支持给接入的 WebSocket 连接验证 Token,如果不设置 Token 同时又将框架的端口暴露在公网将会非常危险。
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
go-cqhttp 的配置段:
|
||||
|
||||
```hjson
|
||||
// 访问密钥, 强烈推荐在公网的服务器设置
|
||||
access_token: "emhhbWFvLXJvYm90"
|
||||
```
|
||||
// 访问密钥, 强烈推荐在公网的服务器设置
|
||||
access_token: "emhhbWFvLXJvYm90"
|
||||
```
|
||||
|
||||
框架的配置文件配置段:
|
||||
@@ -56,4 +56,4 @@ $config["access_token"] = function($token){
|
||||
|
||||
## 自定义验证(open 事件)
|
||||
|
||||
当然,这里设置了自定义方式,其实你也可以在下一层的 `@OnOpenEvent` 注解事件中进行自定义内容和判断,具体见 `@OnOpenEvent` 的相关章节。
|
||||
当然,这里设置了自定义方式,其实你也可以在下一层的 `@OnOpenEvent` 注解事件中进行自定义内容和判断,具体见 `@OnOpenEvent` 的相关章节。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# CQ 码(多媒体消息)
|
||||
# 多媒体消息 - CQ码
|
||||
|
||||
消息中的多媒体内容使用 CQ 码来表示,形如 `[CQ:face,id=178]`。其中,`[CQ:]` 是固定格式;`face` 是「功能名」,除了 `face` 还有许多不同的功能名;`id=178` 是「参数」,某些功能不需要参数,而另一些需要多个参数,当有多个参数时,参数间使用逗号分隔。
|
||||
|
||||
@@ -14,11 +14,13 @@
|
||||
|
||||
更多 CQ 码功能请参考 [消息段类型](https://github.com/howmanybots/onebot/blob/master/v11/specs/message/segment.md)。
|
||||
|
||||
!!! warning "注意"
|
||||
::: warning 注意
|
||||
|
||||
CQ 码中不应有多余的空格,例如不应该使用 `[CQ:face, id=178]`。
|
||||
CQ 码中不应有多余的空格,例如不应该使用 `[CQ:face, id=178]`。
|
||||
|
||||
CQ 码的参数值可以包含空格、换行、除 `[],&` 之外的特殊符号等。在解析时,应直接取 `[CQ:` 后、第一个 `,` 或 `]` 前的部分为功能名,第一个 `,` 之后到 `]` 之间的部分为参数,按 `,` 分割后,每个部分第一个 `=` 前的内容为参数名,之后的部分为参数值。例如 `[CQ:share,title=标题中有=等号,url=http://baidu.com]` 中,功能名为 `share`,`title` 参数值为 `标题中有=等号`,`url` 参数值为 `http://baidu.com`。
|
||||
CQ 码的参数值可以包含空格、换行、除 `[],&` 之外的特殊符号等。在解析时,应直接取 `[CQ:` 后、第一个 `,` 或 `]` 前的部分为功能名,第一个 `,` 之后到 `]` 之间的部分为参数,按 `,` 分割后,每个部分第一个 `=` 前的内容为参数名,之后的部分为参数值。例如 `[CQ:share,title=标题中有=等号,url=http://baidu.com]` 中,功能名为 `share`,`title` 参数值为 `标题中有=等号`,`url` 参数值为 `http://baidu.com`。
|
||||
|
||||
:::
|
||||
|
||||
## 转义
|
||||
|
||||
@@ -69,12 +71,12 @@ class Hello {
|
||||
}
|
||||
```
|
||||
|
||||
效果
|
||||
效果:
|
||||
|
||||
<chat-box>
|
||||
) 发送图片
|
||||
[ https://zhamao.xin/file/hello.jpg
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'发送图片'},
|
||||
{type:3,content:'https://zhamao.xin/file/hello.jpg'}
|
||||
]"></chat-box>
|
||||
|
||||
## CQ 码操作
|
||||
|
||||
@@ -191,15 +193,17 @@ public function faceTest() {
|
||||
}
|
||||
```
|
||||
|
||||
<chat-box>
|
||||
) 打盹
|
||||
( 正在打盹...
|
||||
[ https://docs-v1.zhamao.xin/face/8.gif
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'打盹'},
|
||||
{type:1,content:'正在打盹...'},
|
||||
{type:3,content:'https://docs-v1.zhamao.xin/face/8.gif'},
|
||||
]"></chat-box>
|
||||
|
||||
!!! note "提示"
|
||||
对于不断更新的 QQ 版本下,可能会持续扩充新的 QQ 表情,如果上表没有新的表情的话,也可以使用消息接收的方式,让机器人收到表情后解析出来对应的 id 然后再发送。
|
||||
::: tip 提示
|
||||
|
||||
对于不断更新的 QQ 版本下,可能会持续扩充新的 QQ 表情,如果上表没有新的表情的话,也可以使用消息接收的方式,让机器人收到表情后解析出来对应的 id 然后再发送。
|
||||
|
||||
:::
|
||||
|
||||
### CQ::image() - 发送图片
|
||||
|
||||
@@ -221,7 +225,11 @@ public function faceTest() {
|
||||
|
||||
- 绝对路径,例如 `file:///root/imagetest/1.png`,格式使用 [`file` URI](https://tools.ietf.org/html/rfc8089)
|
||||
- 网络 URL,例如 `http://i1.piimg.com/567571/fdd6e7b6d93f1ef0.jpg`
|
||||
- Base64 编码,例如 `base64://iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAIAAADJt1n/AAAAKElEQVQ4EWPk5+RmIBcwkasRpG9UM4mhNxpgowFGMARGEwnBIEJVAAAdBgBNAZf+QAAAAABJRU5ErkJggg==`
|
||||
- Base64 编码,例如
|
||||
|
||||
```
|
||||
base64://iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAIAAADJt1n/AAAAKElEQVQ4EWPk5+RmIBcwkasRpG9UM4mhNxpgowFGMARGEwnBIEJVAAAdBgBNAZf+QAAAAABJRU5ErkJggg==
|
||||
```
|
||||
|
||||
### CQ::record() - 发送语音
|
||||
|
||||
@@ -250,10 +258,10 @@ public function say() {
|
||||
}
|
||||
```
|
||||
|
||||
<chat-box>
|
||||
) 说你好
|
||||
( [语音消息,点击收听] 2'' )))
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'说你好'},
|
||||
{type:1,content:'[语音消息,点击收听] 2\'\' )))'},
|
||||
]"></chat-box>
|
||||
|
||||
> 此 CQ 码只能用于单独一条文本消息中,如果混有其他字符串,则会吞掉其他字符串内容。
|
||||
|
||||
@@ -274,10 +282,10 @@ public function atTest() {
|
||||
}
|
||||
```
|
||||
|
||||
<chat-box>
|
||||
) at测试
|
||||
( @鲸鱼 你好啊!
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'at测试'},
|
||||
{type:1,content:'@鲸鱼 你好啊!'},
|
||||
]"></chat-box>
|
||||
|
||||
### CQ::video() - 发送短视频
|
||||
|
||||
@@ -346,9 +354,11 @@ public function atTest() {
|
||||
|
||||
匿名发消息。需要在允许匿名发消息的群里发。
|
||||
|
||||
!!! tip "提示"
|
||||
::: tip 提示
|
||||
|
||||
当收到匿名消息时,需要通过 [消息事件的群消息](https://github.com/howmanybots/onebot/blob/master/v11/specs/event/message.md#群消息) 的 `anonymous` 字段判断。
|
||||
当收到匿名消息时,需要通过 [消息事件的群消息](https://github.com/howmanybots/onebot/blob/master/v11/specs/event/message.md#群消息) 的 `anonymous` 字段判断。
|
||||
|
||||
:::
|
||||
|
||||
定义:`CQ::anonymous($ignore = 1)`
|
||||
|
||||
@@ -515,9 +525,11 @@ public function xmlTest() {
|
||||
|
||||
其中 `$resid` 是面向 go-cqhttp 扩展的参数,默认不填为 0,走小程序通道,填了走富文本通道发送。
|
||||
|
||||
!!! tip "提示"
|
||||
::: tip 提示
|
||||
|
||||
因为某些众所周知的原因,XML 和 JSON 的返回不提供实例,有兴趣的可以自行研究如何编写,文档不含任何相关教程。
|
||||
因为某些众所周知的原因,XML 和 JSON 的返回不提供实例,有兴趣的可以自行研究如何编写,文档不含任何相关教程。
|
||||
|
||||
:::
|
||||
|
||||
### CQ::_custom() - 扩展自定义 CQ 码
|
||||
|
||||
@@ -536,4 +548,3 @@ public function xmlTest() {
|
||||
CQ::_custom("at",["qq" => "123456","qwe" => "asd"]);
|
||||
// 返回:[CQ:at,qq=123456,qwe=asd]
|
||||
```
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# MessageUtil 消息处理工具类
|
||||
# 消息处理工具类 - MessageUtil
|
||||
|
||||
类定义:`\ZM\Utils\MessageUtil`
|
||||
|
||||
@@ -81,9 +81,11 @@ MessageUtil::isAtMe("[CQ:at,qq=123456789]另一个朋友你好","123456"); // fa
|
||||
|
||||
返回:数组,切分后的。
|
||||
|
||||
!!! tip "为什么不直接使用 explode 呢"
|
||||
::: tip 为什么不直接使用 explode 呢
|
||||
|
||||
因为 `explode()` 只会简单粗暴的切割字符串,假设用户输入的消息中两个词中间有多个空格,则会有空的词出现。例如 `你好 我是一个长空格`。此函数会将多个空格当作一个空格来对待。
|
||||
因为 `explode()` 只会简单粗暴的切割字符串,假设用户输入的消息中两个词中间有多个空格,则会有空的词出现。例如 `你好 我是一个长空格`。此函数会将多个空格当作一个空格来对待。
|
||||
|
||||
:::
|
||||
|
||||
```php
|
||||
MessageUtil::splitCommand("你好 我是傻瓜\n我是傻瓜二号"); // ["你好","我是傻瓜","我是傻瓜二号"]
|
||||
@@ -123,10 +125,10 @@ public function onStart() {
|
||||
}
|
||||
```
|
||||
|
||||
<chat-box>
|
||||
) 炸毛不聪明
|
||||
( 其实还是很聪明的!
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'炸毛不聪明'},
|
||||
{type:1,content:'其实还是很聪明的!'},
|
||||
]"></chat-box>
|
||||
|
||||
### strToArray()
|
||||
|
||||
@@ -176,4 +178,4 @@ $arr = \ZM\Utils\MessageUtil::strToArray($str);
|
||||
// 我们使用上边的 $arr 作为传入值。
|
||||
$new_str = \ZM\Utils\MessageUtil::arrayToStr($arr);
|
||||
// 结果:"你好啊,[CQ:at,qq=123]"
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# 机器人 API(OneBotV12)(待发布)
|
||||
# 机器人动作 - V12
|
||||
|
||||
!!! tip "提示"
|
||||
::: tip 提示
|
||||
|
||||
目前由于 OneBot 12 标准还没有定稿,处于草案阶段,故框架暂不更新。
|
||||
|
||||
在未来升级到 OneBot 12 标准后,框架会提供转换及兼容措施以及 12 版本的 API 方法。
|
||||
目前由于 OneBot 12 标准还没有定稿,处于草案阶段,故框架暂不更新。
|
||||
|
||||
见 [机器人动作(OneBot 11)](../robot-api)。
|
||||
在未来升级到 OneBot 12 标准后,框架会提供转换及兼容措施以及 12 版本的 API 方法。
|
||||
|
||||
:::
|
||||
|
||||
见 [机器人动作(OneBot 11)](./robot-api.html)。
|
||||
@@ -1,4 +1,4 @@
|
||||
# 机器人 API(OneBotV11)
|
||||
# 机器人动作 - V11
|
||||
|
||||
OneBotV11 类是封装好的 OneBot 标准的 API 接口调用类,可以在机器人连接后通过连接或者机器人 QQ 号获取对象并调用接口(如发送群消息、获取群列表等操作)。
|
||||
|
||||
@@ -111,8 +111,9 @@ $obj = $bot->sendGroupMsg("234567", "你好");
|
||||
echo json_encode($obj, 128|256);
|
||||
```
|
||||
|
||||
输出结果
|
||||
|
||||
```json
|
||||
// 输出结果
|
||||
{
|
||||
"status": "ok",
|
||||
"retcode": 0,
|
||||
@@ -161,21 +162,18 @@ vardump($result["retcode"]); //如果成功撤回,输出 int(0)
|
||||
| ------------ | -------------- | ------- |
|
||||
| `message_id` | number (int32) | 消息 ID |
|
||||
|
||||
例子
|
||||
代码
|
||||
|
||||
=== "代码"
|
||||
```php
|
||||
$bot = OneBotV11::get(123456); // 123456是你的机器人QQ
|
||||
$bot->sendPrivateMsg("627577391", "你好啊!你好你好!");
|
||||
```
|
||||
|
||||
```php
|
||||
$bot = OneBotV11::get(123456); // 123456是你的机器人QQ
|
||||
$bot->sendPrivateMsg("627577391", "你好啊!你好你好!");
|
||||
```
|
||||
|
||||
=== "效果"
|
||||
|
||||
<chat-box>
|
||||
( 你好啊!你好你好!
|
||||
</chat-box>
|
||||
效果
|
||||
|
||||
<chat-box :my-chats="[
|
||||
{type:1,content:'你好啊!你好你好!'}
|
||||
]"></chat-box>
|
||||
|
||||
### sendGroupMsg()
|
||||
|
||||
@@ -621,10 +619,11 @@ vardump($result["retcode"]); //如果成功撤回,输出 int(0)
|
||||
|
||||
获取 Cookies。
|
||||
|
||||
!!! warning "注意"
|
||||
::: warning 注意
|
||||
|
||||
目前开源的 mirai 为底层的机器人客户端均不支持获取 Cookies 和 CSRF Token,包括 go-cqhttp。
|
||||
目前开源的 mirai 为底层的机器人客户端均不支持获取 Cookies 和 CSRF Token,包括 go-cqhttp。
|
||||
|
||||
:::
|
||||
|
||||
参数
|
||||
|
||||
@@ -780,9 +779,11 @@ vardump($result["retcode"]); //如果成功撤回,输出 int(0)
|
||||
|
||||
唯一一个参数做保留,用于选择不同客户端,目前仅支持 `go-cqhttp`,所以缺省也默认为 `go-cqhttp`。
|
||||
|
||||
!!! warning "注意"
|
||||
::: warning 注意
|
||||
|
||||
由于不同版本的扩展 API 变化可能会很大,改动较多,炸毛框架不会将对应扩展方法写入文档,具体调用情况可根据 IDE 自动补全中的文档或对应类的注释查看。
|
||||
由于不同版本的扩展 API 变化可能会很大,改动较多,炸毛框架不会将对应扩展方法写入文档,具体调用情况可根据 IDE 自动补全中的文档或对应类的注释查看。
|
||||
|
||||
:::
|
||||
|
||||
### callExtendedAPI() (扩充 API)
|
||||
|
||||
@@ -805,4 +806,3 @@ $result = $bot->callExtendedAPI("get_group_root_files", ["group_id" => 123456]);
|
||||
var_dump($result["data"]);
|
||||
// 输出群文件列表
|
||||
```
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 图灵机器人 API(TuringAPI)
|
||||
# 图灵聊天 - TuringAPI
|
||||
|
||||
类定义:`\ZM\API\TuringAPI`
|
||||
|
||||
@@ -60,27 +60,27 @@ class Hello {
|
||||
|
||||
如上述代码,我们将申请的 apikey 填入变量 `$api` 中,启动机器人即可使用,以下是实测消息(我用自己申请的 key 做测试回复的消息)。
|
||||
|
||||
<chat-box>
|
||||
) 你咋了
|
||||
( 我没事哦,谢谢您的关心。
|
||||
) 上海天气
|
||||
( 上海:周一 03月29日,小雨 东南风转东风,最低气温14度,最高气温24度。
|
||||
^ 切换为群内
|
||||
) 机器人
|
||||
( 我在!有什么事吗?
|
||||
) 你叫啥
|
||||
( 我的名字叫炸毛,认识你很高兴呢!
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:0,content:'你咋了'},
|
||||
{type:1,content:'我没事哦,谢谢您的关心。'},
|
||||
{type:0,content:'上海天气'},
|
||||
{type:1,content:'上海:周一 03月29日,小雨 东南风转东风,最低气温14度,最高气温24度。'},
|
||||
{type:2,content:'切换为群内'},
|
||||
{type:0,content:'机器人'},
|
||||
{type:1,content:'我在!有什么事吗?'},
|
||||
{type:0,content:'你叫啥'},
|
||||
{type:1,content:'我的名字叫炸毛,认识你很高兴呢!'},
|
||||
]"></chat-box>
|
||||
|
||||
在默认示例模块中的例子是直接可以拿来用的,这段代码同时做了对 at 的处理、以及兼容用户自定义写的其他命令的方式,下面是默认模块填好 apikey 后可以用的各种方式提问:
|
||||
|
||||
<chat-box>
|
||||
^ 切换为群内
|
||||
) 我是一条普通消息,这条机器人不会回复我
|
||||
) @机器人 你叫啥
|
||||
( 我是聪明可爱的炸毛,认识你很高兴。
|
||||
) 机器人
|
||||
( 我在!有什么事吗?
|
||||
) 一言
|
||||
( 多少事,从来急,天地转,光阴迫,一万年太久,只争朝夕。
|
||||
</chat-box>
|
||||
<chat-box :my-chats="[
|
||||
{type:2,content:'切换为群内'},
|
||||
{type:0,content:'我是一条普通消息,这条机器人不会回复我'},
|
||||
{type:0,content:'@机器人 你叫啥'},
|
||||
{type:1,content:'我是聪明可爱的炸毛,认识你很高兴。'},
|
||||
{type:0,content:'机器人'},
|
||||
{type:1,content:'我在!有什么事吗?'},
|
||||
{type:0,content:'一言'},
|
||||
{type:1,content:'多少事,从来急,天地转,光阴迫,一万年太久,只争朝夕。'},
|
||||
]"></chat-box>
|
||||
|
||||
Reference in New Issue
Block a user