很多公司依靠阿里旗下的办公软件钉钉打远程办公,当然,钉钉这个产品真的一句话也说不出来,有多难用,真的让我觉得阿里的pm都是装产品的,但是吐了就要重写。

私信小编01即可获取大量Python学习资料

虽然钉钉别的功能很鸡肋,但是机器人这个功能还是让人眼前一亮,属于比较极客的功能,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步。

例如:通过聚合Github、Gitlab等源码管理服务,实现源码更新同步;通过聚合Trello、JIRA等项目协调服务,实现项目信息同步;同时,支持Webhook协议的自定义接入,支持更多可能性,例如:将运维报警提醒、自动化测试的结果报告提醒、工作、生活日程安排(上班打卡、下班吃饭、健身、读书、生日、纪念日...)等等的提醒,通过自定义机器人聚合到钉钉中。

不过关于钉钉机器人网上的一些攻略年代都比较久远,代码很多都基于python2,为了与时俱进,我们尝试用来开发配置钉钉自定义机器人。

首先明确一点,钉钉自定义机器人早就不支持在手机端创建了,所以打开你的pc端或者mac端的钉钉客户端,在需要机器人的聊天群界面,点击智能群助手。

随后点击添加机器人按钮

此时能看到很多已经封装好的第三方机器人,本次我们选择自定义机器人

值得一提的是,钉钉的机器人基于webhook协议,webhook呢是一个api概念,是微服务api的使用范式之一,也被成为反向api,即前端不主动发送请求,完全由后端推送,有机会会专门写一篇文章阐述webhook

在添加机器人界面里,填写一些机器人的信息

需要注意的是,在安全设置一栏里,我们选择加签的方式来验证,在此说明一下,钉钉机器人的安全策略有三种,第一种是使用关键字,就是说你推送的消息里必须包含你创建机器人时定义的关键字,如果不包含就推送不了消息,第二种就是使用加密签名,第三种是定义几个ip源,非这些源的请求会被拒绝,综合来看还是第二种又安全又灵活。

创建成功后,系统会分配给你一个webhook地址,这个地址需要保存一下,地址中有唯一的accesstoken

ok,那么怎么利用这个地址让你的机器人推送消息呢?查看官方文档:ding-doc.ding…

发现文档居然还是的版本,好吧,我们自己来翻译成3.0


import time import hmac import hashlib import base64 import urllib.parse timestamp = str(round() * 1000)) secret = 'SEC90485937c351bfaed41fea8eda5f1e155bbf22842d5f9d6871999e05822fd894' secret_enc = ('utf-8') string_to_sign = '{}n{}'.format(timestamp, secret) string_to_sign_enc = ('utf-8') hmac_code = (secret_enc, string_to_sign_enc, digestmod=).digest() sign = urllib.(hmac_code)) # print(timestamp) # print(sign) import requests,json #导入依赖库 headers={'Content-Type': 'application/json'} #定义数据类型 webhook = '×tamp='+timestamp+"&sign="+sign #定义要发送的数据 #"at": {"atmobiles": "['"+ mobile + "']" data = { "msgtype": "text", "text": {"content": '都谁没加到群里来?小心升不了班'}, "isAtAll": True} res = reque(webhook, data=j(data), headers=headers) #发送post请求 prin)



推送效果是下面这样的:

1.《怎么创作qq群机器人?总结很全面速看!利用Python编程简单开发钉钉群机器人》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《怎么创作qq群机器人?总结很全面速看!利用Python编程简单开发钉钉群机器人》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2998965.html