python之钉钉机器人自动发消息——傻瓜式教程

简介: 自动化跑完的结果,需要自动发送到钉钉群,自动将数据、报告、截图等保存至公司内部服务器,钉钉通知的时候,需要有个链接,点击就可以跳转。

python之钉钉机器人自动发消息——傻瓜式教程

前言

钉钉、飞书、企业微信在各大企业中算是排得上大号的即时通讯贩子了。

身为一个菜鸡,自然会玩的比较花,这不,N年前,我老大就有个需求。

自动化跑完的结果,需要自动发送到钉钉群,自动将数据、报告、截图等保存至公司内部服务器,钉钉通知的时候,需要有个链接,点击就可以跳转。

好,需求就是这么个需求。当时对于我来说,简直就是,两眼一抹黑,然后打开浏览器的搜索框一搜。我的嘴角疯狂的上扬,资料这么多,奈我何?

那既然资料都这么多了,为什么我还要写这篇文呢?

答曰:爷乐意!

(咳咳,有点狂了,刚刚外面人多,大大们我就是想水篇一下QAQ)

钉钉创建机器人

注:前提你得是这个群组的群主或者管理员

主要流程如下:

--> 1.点击群设置

--> 2.点击智能群助手

--> 3.点击添加机器人

--> 4.添加自定义机器人

细节流程如下

第一步:打开钉钉所在群组

点击群设置,点击智能群助手

image-20220819163239396.png

第二步:添加机器人

image-20220819163402187.png

第三步:添加机器人

image-20220819163549375.png

第四步:添加自定义机器人

image-20220819163627959.png

第五步:点击添加

image-20220819163652388.png

第六步:添加完成

(1)头像可以进行修改

(2)机器人名字自己可以随意命名,比如我用的是狗头BOSS,大家可以借鉴参考

(3)安全设置:需要勾选加签(加签之后会有密钥,自己复制保存好,后面需要用到)

(4)勾选我已阅读并同意

(5)点击完成(完成之后会有一个webhook地址,自己复制保存好,后面需要用到)

(6)官方相关文档: 钉钉开放文档 (dingtalk.com)

image-20220819163720637.png
image-20220819164123769.png

通过上面这些步骤,一个自定义的机器人就创建好啦,接下来就开始愉快地打开pycharm或者vscode或者txt来写代码吧

注:如果你在上述步骤中,手比较贱,或者说手速比较快,没保存好秘钥及webhook,不用着急重新创建,只需要再次打开智能群助手,打开你刚刚创建的机器人,鼠标滑动滑动,你就能看到webhook和秘钥啦

python连接dingtalk

开心的打开我的pycharm

首先下载好dingtalk的三方库

pip install DingtalkChatbot

如果下载失败,可以用下面这条

pip install DingtalkChatbot -i http://pypi.douban.com/simple

导入包

from dingtalkchatbot.chatbot import DingtalkChatbot

发送MarkDown格式消息

源码展示

这个方法可以自己根据需求进行修改,之后再自己自动化代码跑完之后,调用这个函数,就会自动把你想要发送的内容发到对应的钉钉群了。

from dingtalkchatbot.chatbot import DingtalkChatbot
from datetime import  datetime
def dingtalk_robot(webhook,secret):
    dogBOSS = DingtalkChatbot(webhook, secret)
    red_msg = '<font color="#dd0000">级别:危险</font>'
    orange_msg = '<font color="#FFA500">级别:警告</font>'

    now_time = datetime.now().strftime('%Y.%m.%d %H:%M:%S')
    url = 'https://blog.csdn.net/qq_46158060?type=blog'
    dogBOSS.send_markdown(
        title=f'来自梦无矶小仔的提醒',
        text=f'### **我是主内容的第一行**\n'
              f'**{red_msg}**\n\n'
              f'**{orange_msg}**\n\n'
              f'**发送时间:**  {now_time}\n\n'
              f'**相关网址:**[点击跳转]({url}) \n',
        is_at_all=True)

if __name__ == '__main__':
    webhook = '刚你记录的webhook填这里'
    secrets = '刚你记录的秘钥填这里'
    dingtalk_robot(webhook=webhook,
                   secret=secrets)

效果展示

大字就是你机器人的名字

代码中title就会显示到这个小字里面

image-20220819171857404.png

下面这个就是在群里的消息展示

image-20220819171948457.png

代码分析

其实平常写笔记用的是markdown语法的小伙伴,这些瞅一眼就会了,这里我大致讲一下。

颜色

直接可以用html格式写,这里提供几种颜色供大家选择,直接在我代码里面替换就可以。

浅绿色 #00FFFF
淡蓝色 #F0FFFF
蓝色 #0000FF
青色 #00FFFF
墨绿色 #2F4F4F
深天蓝色#00BFFF
闪兰色 #1E90FF
森林绿 #228B22
紫红色 #FF00FF
金色 #FFD700
绿色 #008000
橙色 #FFA500
粉红色 #FFC0CB
紫色 #800080
红色 #FF0000
天蓝色 #87CEEB
青绿色 #40E0D0
紫罗兰色#EE82EE
浅黄色 #F5DEB3
黄色 #FFFF00

是否@所有人

is_at_all=True # True代表是,False代表否

源码粗讲

除了DingtalkChatbot,官方还提供了ActionCard、FeedLink、CardItem的消息发送方式。

image-20220819173635305.png

另外在DingtalkChatbot中,除了刚刚展示的MarkDown格式的展示方式,还有如下的方式。

每个方法参数都写的非常详细,大家有兴趣可以一个个自己去尝试,只需要把我上面代码dogBOSS.send_markdown改成对应方法就行。

image-20220819173720236.png

actioncard

def dingtalk_robot_actioncard(webhook,secret):
    dogBOSS = DingtalkChatbot(webhook, secret)
    btns = [{"title": "查看详情", "actionURL": "www.baidu.com"}]
    actioncard = ActionCard(title='梦无矶小仔发来的ActionCard消息',
                             text='![图片名称](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F4k%2Fs%2F02%2F2109242332225H9-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663494674&t=809747c738dd22e73143623968185646) \n'
                                  '### 好家伙,原来是百度!',
                             btns=btns,
                             btn_orientation=1,
                             hide_avatar=1)
    dogBOSS.send_action_card(actioncard)

image-20220819175214172.png

这个只是一个选项的,还可以有多个,可以在btns那里多写几个字典。展示如下:

image-20220819175612765.png

其他的自己去玩吧,水完了,愉快的一天又结束啦!

相关文章
|
12天前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
27 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
12天前
|
数据采集 机器学习/深度学习 搜索推荐
【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析
本文介绍了2023钉钉杯复赛A题的智能手机用户监测数据分析,包括数据预处理、特征提取、推荐模型建立与评价的Python代码实现,旨在通过用户使用记录预测APP使用情况并建立推荐系统。
26 0
【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析
|
12天前
|
数据采集 算法 数据挖掘
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛B题的Python代码分析,涉及美国纽约公共自行车使用量的时间序列预测、网络分析和聚类分析。
22 0
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
|
12天前
|
数据采集 算法 数据挖掘
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题一Python代码分析
本文分析了2023年第二届钉钉杯大学生大数据挑战赛初赛B题"美国纽约公共自行车使用量预测分析",重点讨论了问题一的Python代码实现,包括自行车借还网络图的构建、网络密度的计算以及平均最短路径长度和网络直径的分析。
21 0
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题一Python代码分析
|
12天前
|
机器学习/深度学习 算法 数据挖掘
【2023 年第二届钉钉杯大学生大数据挑战赛初赛】 初赛 A:智能手机用户监测数据分析 问题一Python代码分析
本文提供了2023年第二届钉钉杯大学生大数据挑战赛初赛A题"智能手机用户监测数据分析"的Python代码分析,包括数据预处理、特征工程、聚类分析等步骤,以及如何使用不同聚类算法进行用户行为分析。
25 0
【2023 年第二届钉钉杯大学生大数据挑战赛初赛】 初赛 A:智能手机用户监测数据分析 问题一Python代码分析
|
12天前
|
数据采集 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛 初赛 B:美国纽约公共自行车使用量预测分析 问题二Python代码分析
本文提供了2023年第二届钉钉杯大学生大数据挑战赛初赛B题"美国纽约公共自行车使用量预测分析"中问题二的Python代码分析,涉及数据预处理、特征工程、多种聚类算法实现及其结果评估和可视化。
23 0
|
12天前
|
监控 机器人 Java
【python】调用钉钉机器人发起通知
【python】调用钉钉机器人发起通知
|
14天前
|
数据采集 人工智能 数据挖掘
【钉钉杯大学生大数据挑战赛】初赛B 航班数据分析与预测 Python代码实现Baseline
本文提供了参加"钉钉杯大学生大数据挑战赛"初赛B的航班数据分析与预测项目的Python代码实现Baseline。内容包括题目背景、思路分析、训练集和测试集的预处理、模型训练与预测、特征重要性分析,以及代码下载链接。预处理步骤涉及读取数据、时间信息处理、前序航班延误时间计算、天气信息匹配等。模型训练使用了Gradient Boosting Classifier,并对模型的准确率和特征重要性进行了评估。
53 0
|
2月前
|
数据管理 机器人 BI
数据管理DMS产品使用合集之如何让报表自动更新推送到钉钉机器人
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
56 3
|
2月前
|
运维 机器人 开发者
使用阿里云百炼通过appflow模板,组合钉钉机器人搭建个人知识库评测与感想
尝试构建个人助手机制,用阿里云百炼+AppFlow+钉钉机器人,花费两午休时间解决配置问题。百炼appid复制时多出空格致错,文档未提及,耗时排查。应用创建时模型选项限于max, plus, turbo,性价比高的qwen-long未上线。期望尽快修复bug和上线新模型以降低成本。附故障排查截图。
100 1