企业微信群机器人使用指南和python示例
流程简述
目前只支持发送数据,无法进行交互。对于监控和报告类任务,比如监控机器性能和一些指数等工作,可以极大简化工作量,末尾有简单的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"] }}
参数 | 必须 | 说明 |
---|---|---|
msgtype | true | 消息类型,此时固定为text |
content | true | 文本内容,最长不超过2048个字节,必须是utf8编码 |
mentioned_list | false | userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人。 |
mentioned_mobile_list | false | 手机号列表,提醒手机号对应的群成员(@某个成员),@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>" }}
参数 | 必须 | 说明 |
---|---|---|
msgtype | true | 消息类型,此时固定为markdown |
content | true | markdown内容,最长不超过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" }}
参数 | 必须 | 说明 |
---|---|---|
msgtype | true | 消息类型,此时固定为image |
base64 | true | 图片内容的base64编码 |
md5 | true | 图片内容(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" } ] }}
参数 | 必须 | 说明 |
---|---|---|
msgtype | true | 消息类型,此时固定为news |
articles | true | 图文消息,一个图文消息支持1到8条图文 |
title | true | 标题,不超过128个字节,超过会自动截断 |
description | false | 描述,不超过512个字节,超过会自动截断 |
url | true | 点击后跳转的链接。 |
picurl | false | 图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068455,小图150150。 |
消息发送频率限制
每个机器人发送的消息不能超过20条/分钟。
python示例
import requestsurl = "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)