最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用还得用,虽然钉钉别的功能很鸡肋,但是机器人这个功能还是让人眼前一亮,属于比较极客的功能,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,

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

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

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

随后点击添加机器人按钮

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

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

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

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

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

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

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

import time
import hmac
import hashlib
import base64
import urllib.parsetimestamp = str(round(time.time() * 1000)) secret = 'SEC90485937c351bfaed41fea8eda5f1e155bbf22842d5f9d6871999e05822fd894' secret_enc = secret.encode('utf-8') string_to_sign = '{}n{}'.format(timestamp, secret) string_to_sign_enc = string_to_sign.encode('utf-8') hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest() sign = urllib.parse.quote(base64.b64encode(hmac_code)) # print(timestamp) # print(sign) import requests,json #导入依赖库 headers={'Content-Type': 'application/json'} #定义数据类型 webhook = 'https://oapi.dingtalk.com/robot/send?access_token=f0ca7636f5812fe4815c97a72de9a7cc780c414c258b6c9a631036b1d0f49e3b&timestamp='+timestamp+"&sign="+sign #定义要发送的数据 #"at": {"atMobiles": "['"+ mobile + "']" data = { "msgtype": "text", "text": {"content": '都谁没加到群里来?小心升不了班'}, "isAtAll": True} res = requests.post(webhook, data=json.dumps(data), headers=headers) #发送post请求 print(res.text) 复制代码

推送效果是下面这样的:

使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)相关推荐

  1. 机器人聊天软件c#_使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_132 最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用 ...

  2. java调用钉钉的群自定义机器人

    1.创建钉钉群自定义机器人 2.创建好之后钉钉会返回wobhook地址,这个地址用来访问钉钉接口,如果之前选择了加签,这个地址需要再处理,否则不需要 .(点击设置说明按钮,进入钉钉的官方文档) 3.查 ...

  3. 最新教程:Python开发钉钉群自定义机器人

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用 ...

  4. vim配置python开发环境_Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)...

    众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一 ...

  5. Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)

    众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一 ...

  6. 少年群侠传服务器维护时间,少年群侠传新区开服攻略 新手必看分享

    少年群侠传新区开服以后需要注意哪些你知道吗,麻花为大家来带少年群侠传新区开服攻略,详细介绍少年群侠传新区开服几个注意事项,希望大家喜欢! 1.天降活动很多人打不到碰不到,打到了他一跑就跟丢了.可以在右 ...

  7. 通过Webhook接入钉钉群自定义机器人

    在钉钉群中添加Webhook自定义机器人, 复制Webhook地址保存: https://oapi.dingtalk.com/robot/send?access_token=xxxxxx 安全设置:选 ...

  8. 【钉钉】通过自定义机器人向钉钉群发送消息

    一.创建自定义机器人获取webhook和加签 二.引入依赖 <!--钉钉服务端SDK--><dependency><groupId>com.aliyun</g ...

  9. 基于Python3.6配置开发环境

    前言 最近在CTF上遇到了瓶颈,本人不会python,导致有些题做不出来.而且python的实用性实在太强了,所以就找了一个培训机构的课程边学习边实践.现将经验总结,分享给大家. 正文 1.配置pyt ...

最新文章

  1. 人脸检测库libfacedetection介绍
  2. python 的* 代表元组 和**代表字典用法
  3. 2019计算机科学与技术调剂信息,福建师范大学计算机科学与技术2019考研调剂信息...
  4. oracle8ir2,Oracle8iR2(oracle8.1.6)在redhat linux 7.1上的简易安装方法
  5. ununtu16.04+python3+selenium+firefox环境搭建
  6. 音视频入门/音视频基础
  7. Rsyslog日志格式实例:记录IP地址而非主机名
  8. RAID Introduction
  9. Java加密知识体系
  10. cocos2d-x开源游戏引擎,C++开发iphone/android/uphone/win32游戏
  11. 巴塞罗那2019-20赛季球队大名单
  12. 南京商标注册流程是什么
  13. 国际短信平台的收费标准是什么?
  14. 苹果app没删但是桌面找不到
  15. win7 win10双系统开机系统引导
  16. 作业二:wireshark抓包与ping操作
  17. VBA的LENB()和Excel的LENB()区别
  18. 解决 PR 或 AE 启动不了桌面弹出 Crash 文件
  19. 锂电回收行业硫酸镍溶液除硅
  20. iOS开发:MVVM的使用分析

热门文章

  1. Python——Python3.6.0+Scrapy安装方法(总算没有bug了)
  2. MySQL—赋权(grant)和回收权限(revoke)
  3. 字节流抽象类 java
  4. 01-mysql数据库入门篇-认识mysql-01-05
  5. bootstrap-干货小结
  6. mongodb自动备份脚本
  7. 答网友:如何在Sbo Add-on中激活或者禁止系统增加、查找和导航按钮?
  8. 小米(MIUI)系统组招聘职位
  9. Mysql开启远程连接方法
  10. Android 组件系列-----Activity初步