1. 在钉钉和微信群助手中,添加智能机器人(选择自定义机器人)
(钉钉) (微信)
2. 获取webhook地址
一般如下格式:
https://oapi.dingtalk.com/robot/send?access_token=123abc(钉钉)
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123abc(微信)
群发消息的本质,即向这个webhook地址发送http请求(post),发送请求时,必须将字符集编码设置成UTF-8
3. 钉钉中需要进行安全设置
可以自定义关键词:最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功
微信无此限制
4. 支持格式如下:
钉钉:支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型
微信:支持文本、markdown、图片、图文
5. 可以编写代码发送群消息啦~
以发送文本消息为例:
import requests import json # 机器人基类 class RobotBase: def __init__(self): self.__headers = {'Content-Type': 'application/json;charset=utf-8'} self.url = '' def send_msg(self,text): json_text = { "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ "" ], "isAtAll": True } } return requests.post(self.url, json.dumps(json_text), headers=self.__headers).content # 机器人子类 - 钉钉机器人 class RobotDingtalk(RobotBase): def __init__(self): super().__init__() # 填写钉钉机器人的url self.url = 'https://oapi.dingtalk.com/robot/send?access_token=123abc' # 机器人子类 - 微信机器人 class RobotWeixin(RobotBase): def __init__(self): super().__init__() # 填写微信机器人的url self.url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123-abc' if __name__ == '__main__': robot_ding = RobotDingtalk() robot_ding.send_msg('hello dingding') # 向钉钉群发消息 robot_weixin = RobotWeixin() robot_weixin.send_msg('hello weixin') # 向微信群发消息
以上是艾特所有人,如果要艾特指定人,如下:
# 机器人基类 class RobotBase: def __init__(self): self.__headers = {'Content-Type': 'application/json;charset=utf-8'} self.url = '' def send_msg(self,text): json_text = { "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ "17765006069" # 艾特指定人(手机号) ], "isAtAll": False # 不艾特所有人 } } return requests.post(self.url, json.dumps(json_text), headers=self.__headers).content
6. 开发文档
钉钉机器人开发文档:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/26eaddd5
微信机器人开发文档:在企业微信群机器人配置页面(配置说明中)
.