企业微信群机器人使用指南和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)

相关推荐