# 发送图片形式的频道消息

# 发送图片消息

## 一、上传图片
发送图片消息首先要使用上传图片接口[上传媒体文件](https://s.apifox.cn/43256fe4-9a8c-4f22-949a-74a3f8b431f5/196172729e0.md)上传媒体文件。上传成功后，可获取上传图片的 CDN 地址。
示例返回结果如下：

```
{
    "status": "ok",
    "msg": "",
    "version": "1.0",
    "result": {
        "url": "https://chat.max-c.com/attachments/2024-09-03/1830944049440231424_bqHFSPHaIF.png"
    }
}
```
## 二、发送参数解析

| 字段名 |类型|描述  |例子|
| --- | --- | --- |--- |
|  heychat_ack_id|string |用于确认消息是在频道发送重复 |建议维护一个全局的累加的值,60秒内不重复|
|  msg| string|消息内容,这个例子是带@某个人的markdown图片消息 |"@{id:8829926} ![](https://chat.max-c.com/pic/1830942626358972416.png)"|
|  msg_type|int| 消息类型 |参考发送消息的参数解析中的消息类型|
|  img|string |图片上传CDN的地址 |"https://chat.max-c.com/pic/1793554163917103104.png"|
|  addition|string |扩展信息是将KV结构dumps成string|"{\"img_files_info\":[{\"url\":\"https://chat.max-c.com/pic/1793554163917103104.png\",\"width\":194,\"height\":228}]}"|
|  room_id|string |房间 ID|“366331678831519300”|
|  channel_id|string |频道 ID，不指定房间和频道ID 无法发送|“3663316788315193000”|


addtion 是将如下的json 序列化成的string
```
{
"img_files_info": [{
	"url": "https://chat.max-c.com/pic/1793554163917103104.png",
	"width": 194,
	"height": 228
	}]
}
```
| 字段名 |类型|描述  |例子|
| --- | --- | --- |--- |
|  img_files_info|string |这里是一个图片信息的数组||
|  url|string| 图片的CND地址 ||
|  width|int| 图片的宽 |194|
|  height|int| 图片的高|228|

如果width和height都没有,会自动压缩图片展示效果没那么好


## 三、直接发送图片到频道
在发送频道消息的接口中，如果要直接发送图片到频道，需将返回的图片 CDN 地址作为img字段的参数，并在addition中声明图片的长和宽，如此加载的图片会更贴合原图。
示例如下：
```
{
  "heychat_ack_id": "0",
  "msg_type": 3,
  "img": "https://chat.max-c.com/pic/1793554163917103104.png",
  "addition": "{\"img_files_info\":[{\"url\":\"https://chat.max-c.com/pic/1793554163917103104.png\",\"width\":194,\"height\":228}]}",
  "channel_id": "3377790315288076288",
  "room_id": "3365307913282265088",
}
```


## 四、将图片嵌入 markdown 文本
若需将图片嵌入 markdown 文本中，需将消息类型设置为 4（普通 markdown 文本）或者 10（有 @人的 markdown 文本）。
示例如下：

```
{
    "msg": "@{id:8829926} ![](https://chat.max-c.com/pic/1830942626358972416.png)",
    "msg_type": 10,
    "heychat_ack_id": "1",
    "room_id": "3650716263361773568",
    "addition": "{\"img_files_info\":[{\"url\":\"https://chat.max-c.com/pic/1830942626358972416.png\",\"width\":54,\"height\":54}]}",
    "at_user_id": "8829926",
    "channel_id": "3653787044223606784",
}
```
