编程语言
首页 > 编程语言> > python 实现与企业微信群机器人信息交互

python 实现与企业微信群机器人信息交互

作者:互联网

1 企业微信群添加机器人

1.1 在群聊里穿件机器人

右键群聊,如下图:
在这里插入图片描述

1.2 查看群聊机器人信息

创建完机器人,在群聊右侧群成员下面,就能看见我们创建的群机器人。右键机器人查看其信息,我们要把Webhook地址复制下来,这个很重要,我们稍后回用到,如下图:
在这里插入图片描述
我们假设,我的群聊机器人Webhook地址为:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=slkjflsjlfjsljs-sjsjl9028508-isjfrwruiou-sjkfjkjsl92849

2 用python 编写发送消息函数

首先,我们用python3写一个发送post请求的方法:

def send_msg(msg):
	"""
	msg:要往群里发送的消息
	"""
    headers = {"Content-Type": "application/json"} # 请求头
    url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=slkjflsjlfjsljs-sjsjl9028508-isjfrwruiou-sjkfjkjsl92849"  # Webhook地址,即机器人地址
    json = {
        "msgtype": "markdown",
        "markdown": {"content": msg}
    }
    r1 = requests.post(url=url, json=json, headers=headers)
    print(r1.text)
    json_text = {
        "msgtype": "text",
        "text": {
            "content": "",
            "mentioned_list": ["xiaoming",  "@all"]
            "mentioned_mobile_list":["19999999999","@all"]
        }
    }
    r2 = requests.post(url=url, json=json_text, headers=headers)
    print(r2.text)

该函数实现了两种格式数据的发送:文本格式,markdown格式

3 消息格式类型

消息类型格式有:文本格式,markdown格式,图片类型,文件类型

3.1 文本类型

json格式:

{
    "msgtype": "text",
    "text": {
        "content": "早会还有十分钟进行,大家准备一下",
        "mentioned_list":["张三","@all"],
        "mentioned_mobile_list":["19999999999","@all"]
    }
}
参数是否必填说明
msgtype消息类型,此时固定为text
content文本内容,最长不超过2048个字节,必须是utf8编码
mentioned_listuserid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list
mentioned_mobile_list手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人

3.2 markdown类型

json格式:

{
    "msgtype": "markdown",
    "markdown": {
        "content": "早会出席情况:<font color="yellow">90人</font>,请大家注意。\n
         >研发部:<font color="black">120人</font>
         >产品部:<font color="black>24人</font>
         >测试组:<font color="black">15人</font>"
    }
}

markdown格式文档地址

3.3 图片格式

json格式:

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

注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式
在这里插入图片描述

文件格式

json格式:

{
    "msgtype": "file",
    "file": {
         "media_id": "3a8asd892asd8asd"
    }
}
参数是否必填说明
msgtype消息类型,此时固定为file
media_id文件id,通过下文的文件上传接口获取

img

注:上传的文件限制:要求文件大小在5B~20M之间

企业微信配置官方文档

标签:markdown,微信群,python,text,机器人,json,msgtype,格式,交互
来源: https://blog.csdn.net/weixin_45805339/article/details/121762188