本文7527字,阅读约需19分钟
Hi,大家好。很多公司都选择阿里旗下的办公软件钉钉来作为管理工具,u1s1,钉钉这个产品有很多槽点,但其中的机器人功能还是让人眼前一亮,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步。
例如:通过聚合Github、Gitlab等源码管理服务,实现源码更新同步;通过聚合Trello、JIRA等项目协调服务,实现项目信息同步;同时,支持Webhook协议的自定义接入,支持更多可能性,例如:将运维报警提醒、自动化测试的结果报告提醒、工作、生活日程安排(上班打卡、下班吃饭、健身、读书、生日、纪念日...)等等的提醒,通过自定义机器人聚合到钉钉中。
不过关于钉钉机器人网上的一些攻略年代都比较久远,代码很多都基于python2,为了与时俱进,我们尝试用python3 来开发配置钉钉自定义机器人,如果想要获取本文完整代码可在ITester软件测试小栈微信公众号后台回复“钉钉群消息源码”。
使用场景:定时上下班打卡,定时提醒,测试结果推送等。
系统环境:windows/Mac
Python环境:Python3以上
其他设备:钉钉
一
钉钉设置
1、选择一个群来开启QQ机器人,这个群必须是你管理的或者自己创建的群才可以。2、接着在群资料这里,有一个“管理群”,必须是管理或者群主才会显示这个选项。3、接着点击“设置群机器人”,开始进行设置。4、QQ群机器人。
创建钉钉机器人
两广番摊1234机器人,①添加智能群助手:首先明确一点,钉钉自定义机器人目前不支持在手机端创建,所以打开PC端或者Mac端的钉钉客户端,在需要机器人的聊天群界面,点击智能群助手。
②随后点击添加机器人按钮:
③此时能看到很多已经封装好的第三方机器人,我们选择自定义机器人:
值得一提的是,钉钉的机器人基于webhook协议,webhook呢是一个api概念,是微服务api的使用范式之一,也被称为反向api,即前端不主动发送请求,完全由后端推送。
企业回一知智能AI语音聚焦解决电商行业场景,从私域引流丨活动通知丨好评邀约丨售前催付,一知智能AI自研SCRM助力私域一体化运营,RPA能力实现自动加粉,解决私域运营核心痛点,一知智能AI
填写添加信息
①在添加机器人界面里,填写一些机器人的信息:
需要注意的是,在安全设置一栏里,我们选择加签的方式来验证。钉钉机器人的安全策略有三种:第一种是使用关键字,就是说推送的消息里必须包含创建机器人时定义的关键字,如果不包含就推送不了消息;第二种就是使用加密签名,第三种是定义几个ip源,非这些源的请求会被拒绝。综合来看,还是第二种又安全又灵活。
②创建成功后,系统会分配一个webhook地址,这个地址需要保存一下,地址中有唯一的accesstoken。
③添加完成:
二
Python代码实现钉钉消息推送
编写代码
创建一个钉钉发送消息的Python文件,编写代码。
参数说明如下:
参数
说明
timestamp
当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时
搜索“冰山QQ机器人”在官网下载一个软件到桌面,登录一个QQ作为机器人,常用的QQ设置为机器人管理员。在软件上面安装需要的插件如问答系统,智能聊天,定时广播,每日签到,积分系统,QQ群管家,VIP群管,菜单插件,综合游戏等。
secret
密钥,机器人安全设置页面,加签一栏下以SEC开头的字符串
代码如下所示:
② 将timestamp和第一步得到的签名值拼接到URL中:
https:/oapi.dingtalk.com/robot/send?access_token=XXXXXX×tamp=XXX&sign=XXX
参数说明如下:
参数
说明
timestamp
时间戳
sign
1、打开手机微信,看到【发现】。2、看到右上角【+】号。3、点击右上角【+】号,看到【添加朋友】。4、点击【添加朋友】,看到【公众号】。5、点击【公众号】,搜索【微友助手】。6、【关注公众号】微友助手,点击【。
签名值
③发送请求:
实现效果
推送效果如下:
三
1、关注提供机器人的微信公众号 2、点击绿框内按钮,选择创建机器人 3、以官方机器人为例,选中第三个。加机器人为好友 4、把机器人拉入想管理的群 5、等待机器人发来链接,点击链接即完成机器人管理群 6、具体功能,。
Python DingDingBot实现钉钉消息推送
Python第三方包之DingDingBot钉钉机器人实现消息推送,支持发文本格式、链接格式、markdown格式。
安装DingDingBot
安装命令如下:
pip install DingtalkChatbot
钉钉发消息示例
(1) 发送txt消息 @所有人
示例代码如下:
推送效果如下:
(2) 发送txt消息 @指定人
示例代码如下:
39;&这里填@的人的手机号,可自定义@的位置,默认添加在消息末尾xiaoding.send_text(msg=&39;,at_mobiles=at_mobiles)
推送效果如下:
(3) 发送Link消息
示例代码如下:
39;ITester软件测试小栈所有历史文章&39;点击查收!&39;;,pic_url=';)
推送效果如下:
(4) 发送图片消息
示例代码如下:
39;;)
(5) 发送Markdown消息给所有人
示例代码如下:
1、提醒所有人xiaoding.send_markdown(title=&39;,text=& ITesster软件测试小栈 精选话题\n&39;> 接口自动化测试,UI测试,测试面试,送书福利\n\n&39;> ![话题]()\n&39;>10点24分发布 [查看所有]() \n',is_at_all=True)
(6) 发送Markdown消息给指定人
示例代码如下:
39;&这里填@的人的手机号,可自定义@的位置,默认添加在消息末尾39;ITesster软件测试小栈&39;39;&39;&39;&39;,at_mobiles=at_mobiles,is_auto_at=False)
(7) ActionCard整体跳转消息类型
示例代码如下:
34;查看详情&34;;)]actioncard1 = ActionCard(title=&39;,text=&39;,btns=btns1,btn_orientation=1,hide_avatar=1)xiaoding.send_action_card(actioncard1)
推送效果如下:
(8) ActionCard单独跳转消息(两个按钮选择)
示例代码如下:
1、两个按钮选择btns2 = [CardItem(title=&34;,url=&34;比心❤️&34;;)]actioncard2 = ActionCard(title=&39;,text=&39;,btns=btns2,btn_orientation=1,hide_avatar=1)xiaoding.send_action_card(actioncard2)
推送效果如下:
(9) ActionCard单独跳转消息(三个按钮选择)
示例代码如下:
34;点赞&34;;),CardItem(title=&34;,url=&34;比心❤️&34;;)]actioncard3 = ActionCard(title=&39;,text=&39;,btns=btns3,btn_orientation=1,hide_avatar=1)xiaoding.send_action_card(actioncard3)
(10) FeedCard消息类型
示例代码如下:
推送效果如下:
四
实现钉钉定时消息推送
Mac端定时消息推送
①用sudo crontab -e创建或者修改任务:
任务文件格式:
sudo crontab -e进入编辑任务页面
②编辑任务:
* * ** * python安装路径 运行文件路径│ │ │ │││ │ │ │└─── 星期几 (0 - 6) (0到6 0代表周日 1周一)│ │ │ └──────── 月份 (1 - 12)│ │ └───────────── 每月几号 (1 - 31)│ └────────────────── 小时 (0 - 23)└─────────────────────── 分钟 (0 - 59)
PC端定时消息推送
Windows用自带的任务计划程序,定时发送钉钉消息。
①打开任务计划程序:控制面板>系统和安全>管理工具>任务计划程序。
②创建基本任务:
③填写配置信息:
a)填写名称:
b)填写执行间隔:
c)填写执行开始时间:
d)填写启动内容(目前只支持启动某个程序或脚本)
e)选择要执行的程序或脚本:将钉钉推送消息的Python代码另存为.bat文件,然后在这一步打开。
④运行Python脚本
在Python环境下,用cmd可以直接运行Python脚本。例如脚本文件名是:chatbot.py 存放在C盘,则写一个批处理,内容为:
python C:\chatbot.py
然后把此内容另存为 xx.bat文件,则选择运行此文件即可。
1、打开你要开启群机器人的QQ群(这个群你是群主),并点击右上角的头像标志,2、进入群的详细界面后,点击“管理群”按钮。3、在“管理群”中选择“设置群机器人”。4、选择你喜欢的机器人并点击底部的“开启”按钮。5。
叮叮叮是不是每天都能收到Python开发的钉钉群机器人推送的消息了?如果想要获取完整代码可在ITester软件测试小栈微信公众号后台回复“钉钉群消息源码”。
更多系列文章
敬请期待
我是CoCo,计算机科学与技术专业,深漂大厂互联网民工(女),坐标深圳。5年工作经验,3年持续输出技术文。ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。
想获取更多最新干货内容
快来星标 置顶 关注我