分享

企业微信群机器人使用指南和python示例

 看见就非常 2021-01-19

流程简述

目前只支持发送数据,无法进行交互。对于监控和报告类任务,比如监控机器性能和一些指数等工作,可以极大简化工作量,末尾有简单的python示例。

在终端某个群组成功添加机器人之后,可以获取到webhook地址。群机器人是每个成员都可以创建的。

创建者按以下说明构造post请求的data向这个webhook发起HTTP POST请求,即可实现给该群组发送消息。

假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=633a31f6-7f9c-4bc4-97a0-0ec1eefa589

curl发送示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码):

curl 'http://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=633a31f6-7f9c-4bc4-97a0-0ec1eefa5898'    -H 'Content-Type: application/json'    -d '
   {
        "msgtype": "text",
        "text": {
            "content": "hello world"
        }
   }'

消息类型及数据格式

文本类型

{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
        "mentioned_list":["wangqing","@all"],
        "mentioned_mobile_list":["13800001111","@all"]
    }
}
参数必须说明
msgtypetrue消息类型,此时固定为text
contenttrue文本内容,最长不超过2048个字节,必须是utf8编码
mentioned_listfalseuserid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人。
mentioned_mobile_listfalse手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人

mentioned_list中的ID就是企业微信的邮箱。

markdown类型

{
    "msgtype": "markdown",
    "markdown": {
        "content": "实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n
         >类型:<font color=\"comment\">用户反馈</font> \n
         >普通用户反馈:<font color=\"comment\">117例</font> \n
         >VIP用户反馈:<font color=\"comment\">15例</font>"
    }
}
参数必须说明
msgtypetrue消息类型,此时固定为markdown
contenttruemarkdown内容,最长不超过4096个字节,必须是utf8编码

目前支持markdown如下语法:

标题 (支持1至6级标题,注意#与文字中间要有空格)

# 标题一
## 标题二
### 标题三
#### 标题四
##### 标题五
###### 标题六

加粗

**bold**

链接

[这是一个链接](http://work.weixin.qq.com/api/doc)

行内代码段(暂不支持跨行)

`code`

引用

> 引用文字
字体颜色(只支持3种内置颜色)
<font color="info">绿色</font>
<font color="comment">灰色</font>
<font color="warning">橙红色</font>

图片类型

{
    "msgtype": "image",
    "image": {
        "base64": "DATA",
        "md5": "MD5"
    }
}
参数必须说明
msgtypetrue消息类型,此时固定为image
base64true图片内容的base64编码
md5true图片内容(base64编码前)的md5值

注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式

图文类型

{
    "msgtype": "news",
    "news": {
       "articles" : [
           {
               "title" : "中秋节礼品领取",
               "description" : "今年中秋节公司有豪礼相送",
               "url" : "URL",
               "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
           }
        ]
    }
}
参数必须说明
msgtypetrue消息类型,此时固定为news
articlestrue图文消息,一个图文消息支持1到8条图文
titletrue标题,不超过128个字节,超过会自动截断
descriptionfalse描述,不超过512个字节,超过会自动截断
urltrue点击后跳转的链接。
picurlfalse图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068455,小图150150。

消息发送频率限制

每个机器人发送的消息不能超过20条/分钟。

python示例

import requests

url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=633a31f6-7f9c-4bc4-97a0-0ec1eefa589"
headers = {"Content-Type": "text/plain"}
s = "What do you want to say? "
data = {
      "msgtype": "text",
      "text": {
         "content": s,
      }
   }
r = requests.post(url, headers=headers, json=data)
print(r.text)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多