继续创作,加速成长!这是我参与「日新计划 10 月更文应战」的第7天,点击检查活动详情

您能在这儿看到啥

  1. 敞开钉钉群机器人
  2. 敞开企业微信群机器人
  3. shell脚本发送
  4. 通用音讯模板
  5. 一点点疑惑

敞开钉钉群机器人

  1. 选择需要增加机器人的群聊,然后顺次单击群设置 >智能群帮手
    Flutter 解放双手-Shell自动化打包之群消息
  2. 在机器人办理页面选择自定义机器人,输入机器人姓名并选择要发送音讯的群,一起可认为机器人设置机器人头像。
    Flutter 解放双手-Shell自动化打包之群消息
  3. 完结必要的安全设置,勾选我已阅览并赞同《自定义机器人服务及免责条款》,然后单击完结

切记安全设置有必要最少勾选一个类型,假如自定义关键词,记得在发送音讯的title里要包含对应的关键词,我在测验的时分,就疏忽了这一点

  1. 完结安全设置后,复制出机器人的Webhook地址,可用于向这个群发送音讯,格局如下:
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX

到此,自定义机器人就注册完结.剩下的只是发送音讯就行,请看shell脚本发送.

敞开企业微信群机器人

企业微信相比钉钉就简略多了.

  1. 点击群右上角
    Flutter 解放双手-Shell自动化打包之群消息
  2. 点击群机器人
    Flutter 解放双手-Shell自动化打包之群消息
  3. 点击增加
    Flutter 解放双手-Shell自动化打包之群消息
  4. 输入机器人姓名
    Flutter 解放双手-Shell自动化打包之群消息
  5. 完结
    Flutter 解放双手-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 是否@所有人

      发到群里格局如下所示:

      Flutter 解放双手-Shell自动化打包之群消息

    • 微信

      {
          "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表明提示所有人

    发到群里格局如下所示:

    Flutter 解放双手-Shell自动化打包之群消息

  • markdown类型

依据文档得知,现在只支持markdown语法的子集.如下所示

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
引证
> A man who stands for nothing will fall for anything.
文字加粗、斜体
**bold**
*italic*
链接
[this is a link](http://name.com)
图片(建议不要超过20张)
![](http://name.com/pic.jpg)
无序列表
- 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:按钮横向摆放

发到群里格局如下所示:

Flutter 解放双手-Shell自动化打包之群消息

  • 微信

因为微信和钉钉音讯类型不一样.这儿只是显现了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编码

发到群里格局如下所示:

Flutter 解放双手-Shell自动化打包之群消息

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自动化打包之群消息

当然,微信钉钉 还有很多音讯类型,这儿我不再逐个举例了.我只把我现在用的共享一下,喜欢的能够检查参考资料

一点点小疑惑

在我的测验中,假如这个群我不群主或许没有办理机器人的权限.我在发送的时分,一直是失利.不知道大家有没有遇到.

参考资料

  • 钉钉自定义机器人接入
  • 企业微信群机器人接入