Skip to content

Commit

Permalink
Release 1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ryoii committed Mar 9, 2020
1 parent b1d8706 commit 44e70e5
Show file tree
Hide file tree
Showing 4 changed files with 196 additions and 5 deletions.
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,28 @@



## [pre-1.2.0] - 2020-03-08
## [1.2.0] - 2020-03-09

### 变更

* `mirai-core` 更新至 `0.25.0`
* `mirai-console` 更新至 `0.3.2`
* `mirai-core` 更新至 `0.27.0`
* `mirai-console` 更新至 `0.3.3`
* `kotlin``1.3.70`
* 好友对象属性`nickName`->`nickname`

### 新增

* 好友对象`nickname`属性可用(不再是空字符串)
* 缓存消息表的缓存大小可配置
* 增加通过`config`接口获取和修改指定session有效的配置
* 支持通过websocket获取消息与事件
* 支持XML、JSON、小程序富文本消息

### 修复

* Quote消息类型属性与文档不一致:`imageId`->`id`
* `uploadImage`接口无法处理异常的问题
* 击毙一些不为人知的BUG(s)



Expand Down
25 changes: 25 additions & 0 deletions MessageType.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,29 @@
| ---- | ------ | ------- |
| xml | String | XML文本 |

#### Json

```json5
{
"type": "Json",
"json": "{}"
}
```

| 名字 | 类型 | 说明 |
| ---- | ------ | -------- |
| json | String | Json文本 |

#### App

```json5
{
"type": "App",
"content": "<>"
}
```

| 名字 | 类型 | 说明 |
| -------- | ------ | ------- |
| content | String | 内容 |

153 changes: 152 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,19 @@ Mirai HTTP API (console) plugin
4. 记录日志中出现的`authKey`

```yaml
## 该配置为全局配置,对所有Session有效

# 可选,默认值为8080
port: 8080

# 可选,默认由插件随机生成,建议手动指定
authKey: 1234567890

# 可选,缓存大小,默认4096.缓存过小会导致引用回复与撤回消息失败
cacheSize: 4096

# 可选,是否开启websocket,默认关闭,建议通过Session范围的配置设置
enableWebsocket: false
```
Expand Down Expand Up @@ -505,7 +513,9 @@ Content-Type:multipart/form-data
+ [x] Face,表情消息
+ [x] Plain,文字消息
+ [x] Image,图片消息
+ [ ] Xml,Xml卡片消息
+ [x] Xml,Xml卡片消息
+ [x] Json,Json卡片消息
+ [x] App,小程序消息
+ [ ] 敬请期待

[消息类型一览](MessageType.md)
Expand Down Expand Up @@ -923,3 +933,144 @@ Content-Type:multipart/form-data
}
```



## Websocket

### 获取消息

监听该接口,插件将推送Bot收到的消息

```
[ws] /message?sessionKey=YourSessionKey
```

#### 请求:

| 名字 | 可选 | 类型 | 举例 | 说明 |
| ----------------- | ----- | ------- | ---------------- | -------------------- |
| sessionKey | false | String | YourSessionKey | 你的session key |

#### 响应

```josn5
{
"type": "GroupMessage", // 消息类型:GroupMessage或FriendMessage或各类Event
"messageChain": [ // 消息链,是一个消息对象构成的数组
{
"type": "Source",
"id": 123456,
"time": 123456789
},
{
"type": "Plain",
"text": "Miral牛逼"
}
],
"sender": { // 发送者信息
"id": 123456789, // 发送者的QQ号码
"memberName": "化腾", // 发送者的群名片
"permission": "MEMBER", // 发送者的群限权:OWNER、ADMINISTRATOR或MEMBER
"group": { // 消息发送群的信息
"id": 1234567890, // 发送群的群号
"name": "Miral Technology", // 发送群的群名称
"permission": "MEMBER" // 发送群中,Bot的群限权
}
}
}
```


## 获取事件

监听该接口,插件将推送Bot收到的事件

```
[ws] /event?sessionKey=YourSessionKey
```

#### 请求:

| 名字 | 可选 | 类型 | 举例 | 说明 |
| ----------------- | ----- | ------- | ---------------- | -------------------- |
| sessionKey | false | String | YourSessionKey | 你的session key |

#### 响应

```json
{
"type": "BotOfflineEventActive",
"qq": 123456
}
```


## 获取事件和消息

监听该接口,插件将推送Bot收到的事件和消息

```
[ws] /all?sessionKey=YourSessionKey
```

#### 请求:

| 名字 | 可选 | 类型 | 举例 | 说明 |
| ----------------- | ----- | ------- | ---------------- | -------------------- |
| sessionKey | false | String | YourSessionKey | 你的session key |

#### 响应

参考上文



## 配置相关

### 获取指定Session的配置

使用此方法获取指定Session的配置信息,注意该配置是Session范围有效

```
[GET] /config?sessionKey=YourSessionKey
```

#### 请求:

| 名字 | 可选 | 类型 | 举例 | 说明 |
| ----------------- | ----- | ------- | ---------------- | -------------------- |
| sessionKey | false | String | YourSessionKey | 你的session key |

#### 响应

```json5
{
"cacheSize": 4096,
"enableWebsocket": false
}
```

### 设置指定Session的配置

使用此方法设置指定Session的配置信息,注意该配置是Session范围有效

```
[Post] /config
```

#### 请求:

```json5
{
"sessionKey": "YourSessionKey",
"cacheSize": 4096,
"enableWebsocket": false
}
```

| 名字 | 可选 | 类型 | 举例 | 说明 |
| ----------------- | ----- | ------- | ---------------- | -------------------- |
| sessionKey | false | String | "YourSessionKey" | 你的session key |
| cacheSize | true | Int | 123456789 | 缓存大小 |
| enableWebsocket | true | Boolean | false | 是否开启Websocket |

2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# build
httpVersion=1.2.0-alpha
httpVersion=1.2.0

# style guide
kotlin.code.style=official
Expand Down

0 comments on commit 44e70e5

Please sign in to comment.