文章目录
钉钉、飞书、企业微信在各大企业中算是排得上大号的即时通讯贩子了。
身为一个菜鸡,自然会玩的比较花,这不,N年前,我老大就有个需求。
自动化跑完的结果,需要自动发送到钉钉群,自动将数据、报告、截图等保存至公司内部服务器,钉钉通知的时候,需要有个链接,点击就可以跳转。
好,需求就是这么个需求。当时对于我来说,简直就是,两眼一抹黑,然后打开浏览器的搜索框一搜。我的嘴角疯狂的上扬,资料这么多,奈我何?
那既然资料都这么多了,为什么我还要写这篇文呢?
答曰:爷乐意!
(咳咳,有点狂了,刚刚外面人多,大大们我就是想水篇一下QAQ)
注:前提你得是这个群组的群主或者管理员
**–> 1.点击群设置 **
–> 2.点击智能群助手
–> 3.点击添加机器人
–> 4.添加自定义机器人
第一步:打开钉钉所在群组
点击群设置,点击智能群助手

第二步:添加机器人

第三步:添加机器人

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

第五步:点击添加

第六步:添加完成
(1)头像可以进行修改
(2)机器人名字自己可以随意命名,比如我用的是狗头BOSS,大家可以借鉴参考
(3)安全设置:需要勾选加签(加签之后会有密钥,自己复制保存好,后面需要用到)
(4)勾选我已阅读并同意
(5)点击完成(完成之后会有一个webhook地址,自己复制保存好,后面需要用到)
(6)官方相关文档: 钉钉开放文档 (dingtalk.com)


通过上面这些步骤,一个自定义的机器人就创建好啦,接下来就开始愉快地打开pycharm或者vscode或者txt来写代码吧
注:如果你在上述步骤中,手比较贱,或者说手速比较快,没保存好秘钥及webhook,不用着急重新创建,只需要再次打开智能群助手,打开你刚刚创建的机器人,鼠标滑动滑动,你就能看到webhook和秘钥啦
开心的打开我的pycharm
首先下载好dingtalk的三方库
pip install DingtalkChatbot
如果下载失败,可以用下面这条
pip install DingtalkChatbot -i http://pypi.douban.com/simple
导入包
from dingtalkchatbot.chatbot import DingtalkChatbot
这个方法可以自己根据需求进行修改,之后再自己自动化代码跑完之后,调用这个函数,就会自动把你想要发送的内容发到对应的钉钉群了。
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就会显示到这个小字里面

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

其实平常写笔记用的是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的消息发送方式。

另外在DingtalkChatbot中,除了刚刚展示的MarkDown格式的展示方式,还有如下的方式。
每个方法参数都写的非常详细,大家有兴趣可以一个个自己去尝试,只需要把我上面代码dogBOSS.send_markdown改成对应方法就行。

def dingtalk_robot_actioncard(webhook,secret):
dogBOSS = DingtalkChatbot(webhook, secret)
btns = [{"title": "查看详情", "actionURL": "www.baidu.com"}]
actioncard = ActionCard(title='梦无矶小仔发来的ActionCard消息',
text=' \n'
'### 好家伙,原来是百度!',
btns=btns,
btn_orientation=1,
hide_avatar=1)
dogBOSS.send_action_card(actioncard)

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

其他的自己去玩吧,水完了,愉快的一天又结束啦!
周末愉快~
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=
我正在使用Ruby,我正在与一个网络端点通信,该端点在发送消息本身之前需要格式化“header”。header中的第一个字段必须是消息长度,它被定义为网络字节顺序中的2二进制字节消息长度。比如我的消息长度是1024。如何将1024表示为二进制双字节? 最佳答案 Ruby(以及Perl和Python等)中字节整理的标准工具是pack和unpack。ruby的packisinArray.您的长度应该是两个字节长,并且按网络字节顺序排列,这听起来像是n格式说明符的工作:n|Integer|16-bitunsigned,network(bi
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o