持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
您能在这里看到啥
- 开启钉钉群机器人
- 开启企业微信群机器人
- shell脚本发送
通用消息模板- 一点点疑惑
开启钉钉群机器人
- 选择需要添加机器人的群聊,然后依次单击群设置 > 智能群助手。
- 在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送消息的群,同时可以为机器人设置机器人头像。
- 完成必要的安全设置,勾选我已阅读并同意《自定义机器人服务及免责条款》,然后单击完成。
切记安全设置必须最少勾选一个类型,如果自定义关键词,记得在发送消息的title里要包含对应的关键词,我在测试的时候,就忽略了这一点
- 完成安全设置后,复制出机器人的Webhook地址,可用于向这个群发送消息,格式如下:
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX
到此,自定义机器人就开通完成.剩下的只是发送消息就行,请看shell脚本发送.
开启企业微信群机器人
企业微信相比钉钉就简单多了.
- 点击群右上角
- 点击群机器人
- 点击添加
- 输入机器人名字
- 完成
这样我们就获取到了webhook.
shell脚本发送
url="webhook"
ptext="分享的内容"
curl "$url" -H 'Content-Type: application/json' -d "$ptext"
具体ptext分享的消息体是啥,请
通用消息模板这个模块.
通用消息模板
本以为钉钉和企业微信发送消息的模版是相同的,仔细一看,是我天真了,还是不一样的.然后我们简单看看消息模版
- text类型
-
钉钉
{ "at": { "atMobiles":[ "180xxxxxx" ], "atUserIds":[ "user123" ], "isAtAll": true }, "text": { "content":"欢迎来到, 火之夜" }, "msgtype":"text" }参数 参数类型 是否必填 说明 msgtype String 是 固定类型:text text Map 是 消息体 context String 是 发送消息内容,必须utf8编码 at 字典 否 被@的数据 atMobiles Array 否 被@人的手机号。只能是群人员 atMobiles Array 否 被@人的手机号。只能是群人员 isAtAll Boolean 否 是否@所有人 发到群里格式如下所示:
-
微信
{ "msgtype": "text", "text": { "content": "欢迎来到, 火之夜", "mentioned_list":["user123","@all"], "mentioned_mobile_list":["180xxxxxx","@all"] } }参数 参数类型 是否必填 说明 msgtype String 是 固定类型:text text Map 是 消息体 context String 是 发送消息内容,必须utf8编码 methioned_list Array 否 userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list mentioned_mobile_list Array 否 手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人
发到群里格式如下所示:
-
- markdown类型
根据文档得知,目前只支持markdown语法的子集.如下所示
标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
引用
> A man who stands for nothing will fall for anything.
文字加粗、斜体
**bold**
*italic*
链接
[this is a link](http://name.com)
图片(建议不要超过20张)

无序列表
- item1
- item2
有序列表
1. item1
2. item2
- 钉钉
整体跳转ActionCard类型,其中文本使用markdown
{
"actionCard": {
"title": "火之夜",
"text": "
### 火之夜
版本: 1.0.2
## 更新内容
- 测试1
- 测试2
",
"btnOrientation": "0",
"singleTitle" : "点击下载",
"singleURL" : "dingtalk://dingtalkclient/page/link?url=https://www.baidu.com/&pc_slide=false"
},
"msgtype": "actionCard"
}
| 参数 | 参数类型 | 是否必填 | 说明 |
|---|---|---|---|
| msgtype | String | 是 | 固定类型:actionCard |
| actionCard | Map | 是 | 消息体 |
| title | String | 是 | 首屏会话透出的展示内容。 |
| text | String | 是 | markdown格式的消息。 |
| singleTitle | String | 是 | 单个按钮的标题。 |
| singleURL | String | 是 | 点击消息跳转的URL,默认侧边栏打开,希望在外部浏览器打开,pc_slide=false |
| btnOrientation | String | 否 | 0:按钮竖直排列 1:按钮横向排列 |
发到群里格式如下所示:
- 微信
由于微信和钉钉消息类型不一样.这里只是显示了markdow.微信更喜欢news类型,下面先看一下markdow
{
"msgtype": "markdown",
"markdown": {
"content": "
<font color=\"warning\">火之夜</font>
版本: 1.0.2
## 更新内容
> 测试1
> 测试2
"
}
}
| 参数 | 参数类型 | 是否必填 | 说明 |
|---|---|---|---|
| msgtype | String | 是 | 固定类型:markdown |
| markdown | Map | 是 | 消息体 |
| content | String | 是 | markdown内容,最长不超过4096个字节,必须是utf8编码 |
发到群里格式如下所示:
news类型如下所示
{
"msgtype": "news",
"news": {
"articles" : [
{
"title" : "中秋节礼品领取",
"description" : "今年中秋节公司有豪礼相送",
"url" : "www.qq.com",
"picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
}
]
}
}
发到群里格式如下所示:
当然,微信 和 钉钉 还有很多消息类型,这里我不再一一举例了.我只把我现在用的分享一下,喜欢的可以查看参考资料
一点点小疑惑
在我的测试中,如果这个群我不群主或者没有管理机器人的权限.我在发送的时候,一直是失败.不知道大家有没有遇到.
系列文章
- Flutter 解放双手-Shell自动化打包之概要
- Flutter 解放双手-Shell自动化打包之配置
- Flutter 解放双手-Shell自动化打包之APK
- Flutter 解放双手-Shell自动化打包之IPA
- Flutter 解放双手-Shell自动化打包之群消息