一、机器人接入
1、钉钉自定义机器人接入官方文档
2、由于官方文档没有提供Python版本,补充一下
安装:
pip install DingtalkChatbot
3、支持的功能
代码语言:javascript复制支持Text消息;
支持Link消息;
支持image表情消息;
支持Markdown消息;
支持ActionCard消息;
支持消息发送失败时自动通知(默认fail_notice=False不通知,开发者可根据返回的消息发送结果自行判断处理)
支持设置消息链接打开方式(默认pc_slide=False,跳转至浏览器打开,pc_slide=True,则在PC端侧边栏打开)
支持钉钉官方消息发送频率限制限制:每个机器人每分钟最多发送20条;
支持Python2、Python3;
二、获取自定义机器人Webhook
添加群机器人,保存Webhook
三、举个例子
发送链接类的机器人消息(无图片,若想带图,可在send_link
方法中添加参数pic_url=''xxx"
# 钉钉
from dingtalkchatbot.chatbot import *
#Webhook地址
url = "https://oapi.dingtalk.com/robot/send?access_token=xxxx"
#要跳转的网页地址
message_url = 'http://xxx/index'
#跳转消息显示的文案
message = '详情请点击查看"
DingtalkChatbot(url).send_link(title="自动化告警", text=message, message_url=message_url)
发送后的效果图
四、其他类型的消息
1、发送文本
代码语言:javascript复制 url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx'
text = '告警!这是一条仅有文字的消息'
at_mobiles = ['135xxxxx']
is_auto_at = True
DingtalkChatbot(url).send_text(msg=text, at_mobiles=at_mobiles, is_auto_at=True)
"""
text类型
msg: 消息内容
is_at_all: @所有人时:true,否则为false(可选)
at_mobiles: 被@人的手机号(注意:可以在msg内容里自定义@手机号的位置,也支持同时@多个手机号,可选)
at_dingtalk_ids: 被@人的dingtalkId(可选)
is_auto_at: 是否自动在msg内容末尾添加@手机号,默认自动添加,可设置为False取消(可选)
"""
发送后效果
2、发送markdown
代码语言:javascript复制 url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxx'
title = '告警!markdown样式'
text = '## 标题n### 副标题n>引用文字n![图片链接](https://alifei05.cfp.cn/creative/vcg/800/new/VCG211363439424.jpg)'
DingtalkChatbot(url).send_markdown(title=title,text=text)
"""
markdown类型
title: 首屏会话透出的展示内容
text: markdown格式的消息内容
"""
发送后效果
3、发送ActionCard
代码语言:javascript复制 url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxx'
title = '告警!markdown样式'
text = '![图片链接](https://alifei05.cfp.cn/creative/vcg/800/new/VCG211363439424.jpg) nn ### 标题 nn ### 副标题 nn'
btns = [{"title": "内容不错", "actionURL": "https://www.baidu.com/"},
{"title": "不感兴趣", "actionURL": "https://www.baidu.com/"}]
action_card = ActionCard(title, text, btns)
DingtalkChatbot(url).send_action_card(action_card=action_card)
"""
ActionCard初始化
title: 首屏会话透出的展示内容
text: markdown格式的消息
btns: 按钮列表:(1)按钮数量为1时,整体跳转ActionCard类型;(2)按钮数量大于1时,独立跳转ActionCard类型;
"""
发送后效果