人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
——《百度百科》
文章目录
前言
实际工作中,有类似这样的场景,需要将某些通知信息定期发送到企业微信群,需要将公司某些指标的异常情况进行监控并将异常数据发送到企业微信群通知相关同事跟进,需要将某张宣传图片发送到企业微信群。以上这类场景,涉及到的工作不复杂,但是比较繁琐,属于重复可自动化的工作,我们可以借助企业微信群机器人,配合Python实现自动化。本文主要介绍使用Python自动化推送文本信息、markdown和链接的方法,供各位小伙伴参考。
一、群机器人的作用及其官方文档
(一)作用
通过接口实现在群里发送告警或提醒类的消息通知。
(二)官网文档
二、具体操作
(一)添加机器人
1、点击企业微信群聊右上角“…”,选择添加群机器人
2、点击右侧群机器人头像,复制URL
注:推送信息都将根据该URL进行推送,具体情况可参考下文。
3、配置说明
(二)推送
1、自动化推送文本信息
(1)适用场景
推送文本信息,提醒某些用户。
(2)相关代码
import requests
# 企业微信机器人url
url = 'xxx'
alarm = {
'msgtype': 'text',
'text': {
'content': '告警测试',
'mentioned_list': ['@all'],
}
}
res = requests.post(url, json=alarm)
print(res.json())
(3)效果展示
2、自动化推送markdown信息
(1)markdown简介
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。CSDN编辑器也是markdown格式。
(2)相关代码
import requests
# 企业微信机器人url
url = 'xxx'
alarm = {
'msgtype': 'markdown',
'markdown': {
'content': "# 逾期订单\n"
"a:<font color='warning'>12345</font>\n"
...
}
}
res = requests.post(url, json=alarm)
print(res.json())
(3)效果展示
3、自动化推送链接
(1)适用场景
推送网址链接,可跳转到相应页面。
(2)相关代码
import requests
# 企业微信机器人url
url = 'xxx'
alarm = {
'msgtype': 'news',
'news': {
'articles': [
{
'title': '百度',
'description': '点击进入',
'url': 'www.baidu.com'
},
]
}
}
res = requests.post(url, json=alarm)
print(res.json())
(3)效果展示
(三)定时任务
以下示例为使用schedule,设定每天早上9点定时进行消息推送。
import requests
import schedule
url = 'xxx'
def morning():
data = {
'msgtype': 'markdown',
'markdown': {
'content': "# 逾期超过50天订单\n"
">订单编号: <font color='warning'>aaa</font>\n"
">逾期天数: <font color='warning'>bbb</font>\n"
}
}
res = requests.post(url, json=data)
schedule.every().day.at('09:00').do(morning)
while True:
schedule.run_pending()
总结
使用上文介绍的几种方式,可以配合上数据库查询(查询判断指标异常值),也可以配合上调度,这样就能实现指标自动化监控并告警啦。