使用免费的微信机器人,实现消息推送实时通知

大家好,我是小悟。

实际工作中,我们会经常遇到需要给用户发送业务通知的功能需求,如果是小程序端,那么就使用小程序提供的模板消息通知,如果是APP端,一般就是使用个推、极光等第三方平台。

当然还有个万能的方案,就是通过短信通知,但每推送一条短信,那都是真金白银啊。更传统一点的方式,通过邮箱通知,这个就纯免费,一般的开发语言都带有发邮件API。

介绍一个适合给系统内部人员,比如ERP、MES这样的系统发送业务通知的方式,那就是通过企业微信群机器人来推送消息实时通知,配置和开发接入也非常简单,关键也是免费的。

官方给出群机器人的作用是,通过接口实现在群里发送告警或提醒类的消息通知。支持@具体成员,这个功能就很好,如果业务属于谁,那么就@谁,落实到具体的员工。
图片
企业微信未认证也可以使用,但如果是已认证的话,还可以配置直接在个人微信内收到群机器人的消息,这样体验或许更好一些。

首先需要给群创建机器人,添加机器人之后,可以在机器人详情页看到该机器人特有的webhookurl。可以向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。

可以在电脑端或手机端操作配置,群聊可添加的机器人数量暂无上限,目前机器人支持推送文本消息、markdown格式、图片类型、文件类型、图文类型、语音类型、模板卡片类型的消息。

电脑端

创建机器人:内部群聊-右上方三个点-添加群机器人&#x

### 设置企业微信机器人定时推送消息的方法 为了实现企业微信机器人的定时消息推送,通常采用Python脚本来调用企业微信提供的Webhook接口,并通过操作系统级别的调度工具(如Linux下的`cron`或Windows的任务计划程序)来触发这些脚本定期执行。 #### 使用Python脚本与Cron作业配合的方式 在Linux环境中,可以通过创建一个Shell脚本文件用于封装Python代码以及必要的命令行参数。下面是一个具体的例子: ```bash [root@localhost opt]# vim crontab.sh ``` 编辑后的shell脚本内容如下所示: ```sh #!/bin/bash curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4d38964b-04f2-447a-af42-c60be9406582' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": { "content": "**日期**, **项目名称** 日报\n\ 1. 客户本月目标\n\ 2. 昨日完成事项\n\ 3. 当天工作安排\n\ 4. 风险预警及解决方案(必填)\n\ 5. 是否需要额外协助" } }' ``` 接着,在系统的crontab中添加相应的条目以便按照预定的时间间隔运行上述脚本[^4]。 对于更复杂的场景,比如从数据库获取动态信息作为通知的内容,则可以在Python脚本内部处理这部分逻辑后再构建请求体发送给企业微信API。这里给出一段简化版的Python示例代码片段展示如何操作MySQL数据库并将查询结果编入JSON格式的消息体内: ```python import pymysql import requests from datetime import date def get_db_data(): conn = None try: conn = pymysql.connect( host='your_host', user='your_user', password='your_password', database='your_database' ) cursor = conn.cursor() sql_query = """SELECT * FROM your_table WHERE condition""" cursor.execute(sql_query) rows = cursor.fetchall() message_content = "" for row in rows: # 构建想要的信息字符串... pass return message_content except Exception as e: print(f"Error occurred while fetching data from DB: {e}") finally: if conn is not None and conn.open: conn.close() if __name__ == "__main__": today_date = str(date.today()) content = f"{today_date}\n{get_db_data()}" payload = {"msgtype": "text", "text": {"content": content}} response = requests.post(url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_WEBHOOK_KEY", json=payload) status_code = response.status_code result_text = response.text print(f"[Status Code]: {status_code}, [Result Text]: {result_text}") ``` 这段代码展示了连接至MySQL数据库读取特定表中的记录,并将它们整理成适合放入POST请求主体内的文本形式的过程。最后再利用`requests`库发出含有定制化内容的通知给指定的企业微信聊[^2]。 #### Windows环境下使用任务计划程序 如果是在Windows平台上部署这样的自动化流程,那么可以考虑编写类似的Python脚本之后将其注册成为由“任务计划程序”管理的服务。这样就可以设定好启动条件——无论是基于时间还是事件驱动型触发器——从而确保即使计算机处于待机状态也能按时唤醒并成功投递消息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悟空码字

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

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

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

打赏作者

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

抵扣说明:

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

余额充值