ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-12-07 11:00:55  阅读:593  来源: 互联网

标签:markdown 微信群 python text 机器人 json msgtype 格式 交互


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有