Python实现企业微信群机器人自动化推送

人工智能(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()


总结

使用上文介绍的几种方式,可以配合上数据库查询(查询判断指标异常值),也可以配合上调度,这样就能实现指标自动化监控并告警啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张六十zhangliushi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值