当前位置: 首页 > 编程笔记 >

钉钉群自定义机器人消息Python封装的实例

鞠征
2023-03-14
本文向大家介绍钉钉群自定义机器人消息Python封装的实例,包括了钉钉群自定义机器人消息Python封装的实例的使用技巧和注意事项,需要的朋友参考一下

一、钉钉群自定义机器人介绍

钉钉群机器人是钉钉群的一个高级扩展功能,然而使用起来却非常简单,只有注册一个钉钉账号即可,就可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github、Gitlab等源码管理服务,实现源码更新同步;通过聚合Trello、JIRA等项目协调服务,实现项目信息同步;同事,支持Webhook协议的自定义接入,支持更多可能性,例如:将运维报警提醒、自动化测试的结果报告提醒、工作、生活日程安排(上班打卡、下班吃饭、健身、读书、生日、纪念日…)等等的提醒,通过自定义机器人聚合到钉钉中。

目前自定义机器人支持文本(text)、链接(link)、markdown三种消息格式、五种消息类型,详细信息请参考自定义机器人官方文档

二、安装使用

这么好用的功能,只要在群中添加好机器人,得到Webhoo地址,在命令行终端马上就可以一睹为快:

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
 -H 'Content-Type: application/json' \
 -d '
 {"msgtype": "text", 
 "text": {
  "content": "我就是我, 是不一样的烟火"
  }
 }' 

由于各种消息调用,官方只提供Java语言的封装,平时使用Python比较多,为了更方便平时自动化项目的使用,周末花了点时间用Python语言对各种消息类型进行了一一封装,代码已开源在GitHub上,同时也上传了PyPI。

1、项目源码地址如下:DingtalkChatbot

2、安装命令如下:

pip install DingtalkChatbot

3、支持功能如下:

- 支持Text消息;

- 支持Link消息;

- 支持Markdown消息;

- 支持ActionCard消息;

- 支持消息发送失败时自动通知;

- 支持Python2、Python3;

三、各消息类型使用示例

from dingtalkchatbot.chatbot import DingtalkChatbot
# WebHook地址
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=这里填写自己钉钉群自定义机器人的token'
# 初始化机器人小丁
xiaoding = DtalkChatbot(webhook)
# Text消息@所有人
xiaoding.send_text(msg='我就是小丁,小丁就是我!', is_at_all=True)

# Text消息之@指定用户
at_mobiles = ['这里填写需要提醒的用户的手机号码,字符串或数字都可以']
xiaoding.send_text(msg='我就是小丁,小丁就是我!', at_mobiles=at_mobiles)

# Link消息
xiaoding.send_link(title="万万没想到,某小璐竟然...", text='故事是这样子的...', message_url='http://www.kwongwah.com.my/?p=454748", pic_url="https://pbs.twimg.com/media/CEwj7EDWgAE5eIF.jpg')

# Markdown消息@所有人
xiaoding.send_markdown(title="氧气文字", text='#### 广州天气\n'
       '> 9度,西北风1级,空气良89,相对温度73%\n\n'
       '> ![美景](http://www.sinaimg.cn/dy/slidenews/5_img/2013_28/453_28488_469248.jpg)\n'
       '> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n',
       is_at_all=True)

# Markdown消息@指定用户
 xiaoding.send_markdown(title="氧气文字", text='#### 广州天气 @用户手机号\n'
       '> 9度,西北风1级,空气良89,相对温度73%\n\n'
       '> ![美景](http://www.sinaimg.cn/dy/slidenews/5_img/2013_28/453_28488_469248.jpg)\n'
       '> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n',
       at_mobiles=at_mobiles)

# FeedCard消息类型
feedlink1 = FeedLink(title="氧气美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
feedlink2 = FeedLink(title="氧眼美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
feedlink3 = FeedLink(title="氧神美女", message_url="https://www.dingtalk.com/", pic_url="https://unzippedtv.com/wp-content/uploads/sites/28/2016/02/asian.jpg")
links = [feedlink1.get_data(), feedlink2.get_data(), feedlink3.get_data()]
xiaoding.send_feed_card(links)

# ActionCard整体跳转消息类型
btns1 = [{"title": "查看详情", "actionURL": "https://www.dingtalk.com/"}]
actioncard1 = ActionCard(title="万万没想到,竟然...",
        text='![选择](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是这样子的...',
        btns=btns1,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard1)

# ActionCard独立跳转消息类型(双选项)
btns2 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "反对", "actionURL": "http://www.back china.com/news/2018/01/11/537468.html"}]
actioncard2 = ActionCard(title="万万没想到,竟然...",
        text='![选择](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是这样子的...',
        btns=btns2,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard2)

# ActionCard独立跳转消息类型(列表选项)
btns3 = [{"title": "支持", "actionURL": "https://www.dingtalk.com/"}, {"title": "中立", "actionURL": "https://www.dingtalk.com/"}, {"title": "反对", "actionURL": "https://www.dingtalk.com/"}]
 actioncard3 = ActionCard(title="万万没想到,竟然...",
        text='![选择](http://www.songshan.es/wp-content/uploads/2016/01/Yin-Yang.png) \n### 故事是这样子的...',
        btns=btns3,
        btn_orientation=1,
        hide_avatar=1)
xiaoding.send_action_card(actioncard3)

更多使用场景,尽情展开想象吧…

以上这篇钉钉群自定义机器人消息Python封装的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Python调用钉钉自定义机器人的实现,包括了Python调用钉钉自定义机器人的实现的使用技巧和注意事项,需要的朋友参考一下 前言:由于公司使用钉钉,之前告警都是使用邮箱,但是这种协同效率比较低,所以调用钉钉机器人来实现实时告警。 创建机器人:创建钉钉群,然后添加群机器人。 python代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 更新时间:2019-05-30 11:36:38 节点简介 钉钉机器人节点可以将消息推送至钉钉群中,可以应用在设备消息推送、监控报警、信息公示等多种场景。目前仅支持信息推送,不支持用户消息返回处理。 使用场景 使用钉钉机器人将消息推送至钉钉群中,可将设备告警信息、设备属性信息、业务逻辑处理结果以定时/触发的方式推送到钉钉群中。 配置项 要使得上游节点中的内容能够推送到一个钉钉群中,首先要在该钉钉群

  • 本文向大家介绍java实现钉钉机器人消息推送的示例代码,包括了java实现钉钉机器人消息推送的示例代码的使用技巧和注意事项,需要的朋友参考一下 先建个钉钉群,并加好机器人 此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码 运行结果如下: 钉钉群显示消息: ok,简单的消息推送,这就完成了! 我们再来测试一下通知所有人和通知具体人 将isAtAll更改为true 增加通知人号码列表(注:

  • 1.5米内0.6秒多人行进间人脸识别考勤,复杂光环境轻松识别。 包材清单 主机、电源适配器 摆放方式 摆放方式 挂墙摆放 挂墙摆放 产品结构 产品结构 产品结构 设备配置 设备通电,扫描设备上的二维码 通过蓝牙搜索设备 链接网络 选择设备关联团队 设备使用 手机端-工作-智能考勤机-人脸录入管理 添加员工,录入人脸 选择人脸录入方式 完成人脸录入 完成后展示人脸 员工关怀 考勤规则设置 体验极速/

  • 本文向大家介绍shell 操作钉钉机器人实现告警提醒的方法,包括了shell 操作钉钉机器人实现告警提醒的方法的使用技巧和注意事项,需要的朋友参考一下 我们知道,之前的运维告警多通过mail 等方式通知到相应的人员,难以实现随时随地的查看。随着手机APP的发展,很多告警开始发送到IM软件上去。目前比较常用的是发送到微信和钉钉上,今天我们将重点放在钉钉上。群机器人是钉钉群的高级扩展功能,群机器人可以

  • 活的数字化名片,实时更新,名片认证身份真实可信,商务会面互换名片只需3秒。智能人脉管理,名片自动分类,轻松整理,快速找人。 编辑对外名片 完善名片信息,全面展示个人及企业信息 点击编辑对外名片 编辑流程 1.编辑名片样式 可以选择基础名片样式,企业主管理员也可自定义名片样式,组织内成员同步开启,实时更新。 选择名片基础样式或定制名片样式 主管理员自定义定制名片样式 2.编辑名片个人信息 编辑每项个