如果你们公司的内部通讯工具使用的是钉钉的话,那你一定用过钉钉群机器人去做不少事情,比如监控告警、比如
issue
的自动同步通知,比如tag
的通知等等操作,群机器人也就是我们常说的incoming
模式,今天我们要讲的是钉钉企业机器人,就是今天要说的outgoing
模式,它能实现的功能就是根据你后端的定义来进行交互式机器人的一种实现,如果你用过微信机器人或开发过微信公众号,相信你对这个并不陌生。
两个概念
在刚开始的时候,钉钉机器人只支持incoming
方式,也就是被动接收通知,在19年下半年钉钉的outgoing
就开始内测,但是一直没放出来,大约是在今年过年的时候才正式推出来outgoing的功能
,也就是今天我们要说的企业机器人。
群机器人 (incoming模式)
来自官方的描述: "群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。目前,大部分机器人在添加后,还需要进行 Webhook
配置,才可正常使用(配置说明详见操作流程中的帮助链接)"。
企业机器人 (outgoing模式)
来自官方的描述: "企业机器人是钉钉为用户提供的组织内部使用的机器人,为组织数字化转型业务服务。开发者可通过本文所描述步骤进行机器人的自主开发和上架,组织内其它成员可通过方便快捷地在群内添加企业机器人,并使用机器人的能力"。
使用钉钉企业机器人的先决条件
1、一个认证的钉钉组织(可以是公司的也可以是个人的
)
2、一个公网IP(添加钉钉机器人的时候需要核对)
3、一个消息推送接口(POST
方式的接口,需要公网能访问)
4、python
5、flask
钉钉群机器人创建
这里为了演示,我采用的是个人注册的钉钉组织,如果大家在公司的话,可以直接使用公司的,不用把时间浪费在这一步上面。
创建机器人
如果没有认证会提示你进行认证操作
如果完成了认证,那就开始创建
填写你创建机器人的相关描述,由于业务需求,可能不单单会创建一个机器人,所以要有一个清晰的描述
填写你的公网出口IP和接收消息的接口
需要注意的是,这里的接口是临时用Flask
写了一个hello world
的POST
接收,要不然验证不过去。记得这里的路由跟你在页面上填写的接收消息的路径确保是一致的。