# 发送模板消息 v1.0.0

注意

  • 要求操作人在该子频道具有发送消息模板消息 的权限。
  • 调用前需要先申请消息模板,这一步会得到一个模板 id,在请求时填在 ark.template_id 上。
  • 发送成功之后,会触发一个创建消息的事件。
  • 可用模板参考消息模板
  • 如果发送的消息中包含链接(网页、图片、视频链接等),需要提前在机器人管理端 (opens new window)报备,操作流程:操作路径为:“开发设置” -> “消息 URL 配置”

# 使用示例

需要关注ark字段的使用。

async function demo() {
  let { data } = await client.messageApi.postMessage(channelID, message);
}
1
2
3

# 参数说明

参数 必填 类型 说明
channelID string 子频道 ID
messsage MessageToCreate 消息体结构

# MessageToCreate

字段名 类型 描述
content string 消息内容,文本内容,支持内嵌格式
embed MessageEmbed embed 消息,一种特殊的 ark
ark MessageArk ark 消息
image string 图片 url 地址
msg_id string 要回复的消息 id。带了 msg_id 视为被动回复消息,否则视为主动推送消息

# MessageEmbed

字段名 类型 描述
title string 标题
prompt string 消息弹窗内容
thumbnail MessageEmbedThumbnail 缩略图
fields MessageEmbedField[] embed 字段数据

# MessageEmbedThumbnail

字段名 类型 描述
url string 图片地址

# MessageEmbedField

字段名 类型 描述
name string 字段名

# MessageArk

字段名 类型 描述
template_id number ark 模板 id(需要先申请)
kv MessageAkrKv[] kv 值列表

# MessageArkKv

字段名 类型 描述
key string key
value string value
obj MessageArkObj[] ark obj 类型的列表

# MessageArkObj

字段名 类型 描述
obj_kv MessageArkObjKv[] ark objkv 列表

# MessageArkObjKv

字段名 类型 描述
key string key
value string value

# 参数示例

假设模板如下,其中#META_LIST#类型为数组、#META_URL#类型为 URL、其他为文本。

{
  "app": "com.tencent.miniapp",
  "view": "detail",
  "ver": "0.0.0.1",
  "desc": "#DESC#",
  "prompt": "[QQ小程序]#PROMPT#",
  "meta": {
    "detail": {
      "title": "#TITLE#",
      "desc": "#META_DESC#",
      "url": "#META_URL#",
      "list": "#META_LIST#"
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

请求体中的 ark 内容为

{
  "ark": {
    "template_id": 1,
    "kv": [
      {
        "key": "#DESC#",
        "value": "机器人订阅消息"
      },
      {
        "key": "#PROMPT#",
        "value": "XX机器人"
      },
      {
        "key": "#TITLE#",
        "value": "XX机器人消息"
      },
      {
        "key": "#META_URL#",
        "value": "http://domain.com/"
      },
      {
        "key": "#META_LIST#",
        "obj": [
          {
            "obj_kv": [
              {
                "key": "name",
                "value": "aaa"
              },
              {
                "key": "age",
                "value": "3"
              }
            ]
          },
          {
            "obj_kv": [
              {
                "key": "name",
                "value": "bbb"
              },
              {
                "key": "age",
                "value": "4"
              }
            ]
          }
        ]
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

则实际下发的 json 为

{
  "app": "com.tencent.miniapp",
  "view": "detail",
  "ver": "0.0.0.1",
  "desc": "机器人订阅消息",
  "prompt": "[QQ小程序]XX机器人",
  "meta": {
    "detail": {
      "title": "XX机器人消息",
      "url": "http://domain.com/",
      "list": [
        { "name": "aaa", "age": "3" },
        { "name": "bbb", "age": "4" }
      ]
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 返回说明

返回Message 对象。

# Message

字段名 类型 描述
id string 消息 id
channel_id string 子频道 ID
guild_id string 频道 ID
content string 消息内容
timestamp string 消息创建时间,是个 iISO8601 timestamp 字符串,例:"2021-11-23T15:16:48+08:00"
edited_timestamp string 消息编辑时间,是个 iISO8601 timestamp 字符串,例:"2021-11-23T15:16:48+08:00"
mention_everyone boolean 是否是@全员消息
author User 消息创建者
member Member 消息创建者的 member 信息

# User

字段名 类型 描述
id string 用户 ID
username string 用户名
bot boolean 是否是机器人

# Member

字段名 类型 描述
roles string[] 用户在频道内的身份组 ID,默认值可参考DefaultRoleIDs
joined_at string 用户加入频道的时间,是个 ISO8601 timestamp 字符串,例:"2021-11-23T15:16:48+08:00"

# DefaultRoleIDs

系统默认生成下列身份组 ID。

身份组 ID 默认值 描述
1 全体成员
2 管理员
4 群主/创建者
5 子频道管理员

# 返回示例

{
  "id": "101234567890abcdef",
  "channel_id": "10001",
  "guild_id": "6400000001",
  "content": "<@!1234>hello world",
  "timestamp": "2021-05-13T14:45:45+08:00",
  "tts": false,
  "mention_everyone": false,
  "author": {
    "id": "12345",
    "username": "abc",
    "avatar": "",
    "bot": true
  },
  "pinned": false,
  "type": 0,
  "flags": 0
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
手机QQ扫码
开发者社区
加入官方频道开发者社区