### 1.创建钉钉机器人
* 群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步;
* 进入一个钉钉群,点击右上角的“群设置”进入群设置页面;
![](https://upload-images.jianshu.io/upload_images/3260639-6c6d4999e0c4c06b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 选择群机器人点击进入,在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群,如果需要的话,可以为机器人设置一个头像。点击"完成添加",完成后会生成Hook地址,点击“复制”按钮,即可获得这个机器人对应的Webhook地址;
![](https://upload-images.jianshu.io/upload_images/3260639-48c0c042ef60b58c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/3260639-ff897861563c7274.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/3260639-2ce1851a194a24b5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 也可以对群机器人进行添加、编辑和删除的操作;
### 2.推送消息
* 获取到Webhook地址后,用户可以向这个地址发起HTTP POST 请求,即可实现给该钉钉群 发送消息,发起POST请求时,必须将字符集编码设置成UTF-8;
* `msgtype`:消息类型,可以根据自己的使用场景选择合适的消息类型,如text文本、link连接、markdown等;
* `atMobiles`:自定义机器人发送消息时,可以通过手机号码指定“被@人列表”,在“被@人列表”里面的人员收到该消息时,会有@消息提醒;
* `isAtAll`:bool类型,true为@所有人,否则为false;
```
import requests
import json
class DingTalk_Base:
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": False
}
}
return requests.post(self.url, json.dumps(json_text), headers=self.__headers).content
class DingTalk_Disaster(DingTalk_Base):
def __init__(self):
super().__init__()
# 填写机器人的url
self.url = ''
if __name__ == '__main__':
ding = DingTalk_Disaster()
ding.send_msg('')
```
* 钉钉开发文档地址:[https://opendoc.dingtalk.com/microapp/serverapi2/krgddi](https://opendoc.dingtalk.com/microapp/serverapi2/krgddi) ;
参考:[https://www.9xkd.com/user/plan-view.html?id=4213850024](https://www.9xkd.com/user/plan-view.html?id=4213850024)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908432/viewspace-2650635/,如需转载,请注明出处,否则将追究法律责任。