利用企业微信机器人API实现定时推送消息
本帖最后由 bgwu666 于 2024-9-2 01:40 编辑# 利用企业微信机器人API实现定时推送消息
最近有坛友想定时推送消息到企业微信群,代替手动发送以节省时间,以前有过接触Server酱的经历,也一直在使用备用机安装短信转发器推送短信到微信,看了一圈下来,如果简单推送消息,使用企业微信机器人API即可完成任务。
## 搭建流程
### 创建企业及机器人
1. 打开企业微信APP,创建新企业,填写相关信息。
2. 打开「企业微信APP」,找到预推送消息到企业群,点击「右上角...」进入群详情,点击「群机器人」,点击「添加机器人」,点击「新建」,输入机器人信息,点击「添加」,复制得到的Webhook地址备用。
![](https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020107247.jpg)
具体消息推送格式参见:[群机器人配置说明](https://developer.work.weixin.qq.com/document/path/91770)
这里例举一个简单的Markdown格式消息推送PowerShell脚本:
```powershell
# 企业微信机器人的Webhook URL
$webhookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=这里填入你的key"
# 消息内容,使用Markdown格式
$markdownContent = @"
{
"msgtype": "text",
"markdown": {
"content": "# 标题\n这是一条Markdown格式的消息。\n> 引用文本\n- 列表项1\n- 列表项2\n"
}
}
"@
# 将Markdown内容转换为字节数组
$byteArray = ::UTF8.GetBytes($markdownContent)
# 创建一个HTTP请求
$headers = @{
"Content-Type" = "application/json"
}
Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $byteArray -Headers $headers
```
运行截图:
![运行截图](https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020041877.png)
![](https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020108576.jpg)
### 配置定时发送程序
这里使用Windows自带的计划任务实现定时发送
1. 保存我上面贴出的代码,修改好**Key**、**发送内容**,保存为后缀为`.ps1`的脚本。
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020111821.png)
2. 点击「搜索」,输入「任务计划程序」,打开任务计划程序。
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020113054.png)
3. 点击「创建基本任务」,填入任务名称,触发器按要求选择,我这里选择「每天」,设定触发时间,操作选择「启动程序」,在程序与脚本页面选择「刚保存的脚本」,点击「完成」即可。
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020119406.png)
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020119822.png)
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020119377.png)
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020119278.png)
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020119185.png)
!(https://isjingbincn-wordpress-image.oss-cn-beijing.aliyuncs.com/202409020120636.png)
完成上述操作后,电脑就会每天在设定的触发时间自动运行脚本,完成消息推送。
## 写在最后
本文讲述了如何使用企业微信创建企业并添加企业机器人,利用PowerShell脚本配合Windows任务计划程序完成消息到定时推送。我示范的发送程序是PowerShell,理论上任何可以发送Post请求的程序或编程语言都可以实现上述功能,例如Curl、Python的Requests模块、java等。此外,我仅示范了Markdown的发送,对于Markdown的其他语法,或者发送纯文本、图片、卡片等消息格式,请参考[群机器人配置说明](https://developer.work.weixin.qq.com/document/path/91770)。
顺便提一下,论坛对于Markdown的支持太差了,图片大小居然没办法调整。。。 一剑飘零 发表于 2024-9-2 02:21
不是群里。就是单对单发。我要发100个人。路径是工作台---群发助手,这个功能是有,需要手动点。我就想能 ...
我理解你的意思,用自己的账号给群里的某些人单独发送消息,没错吧
这样目前做不到,最多能做到,使用创建好的应用,给群里的某些人单独发消息。而这样就需要域名+服务器以通过企业微信验证。
我帖子里的内容,是使用企业微信自带机器人,最多可以@多个群成员,在群里发送消息,并不能实现私聊。 bgwu666 发表于 2024-9-2 02:27
我理解你的意思,用自己的账号给群里的某些人单独发送消息,没错吧
这样目前做不到,最多能做到,使用创 ...
不是的。比如我有100个好友。都是我的客户。我可以群发消息。就是一起发的意思,不在群里。如果你有企业微信你可以看一下。不是发群里@,就是一个消息发给N个人。有这功能,但是需要每次手点。 WOW,感谢楼主热心分享,!!谢谢! 感谢楼主的热心分享,这用的是什么机器人 刘稳当 发表于 2024-9-2 01:48
感谢楼主的热心分享,这用的是什么机器人
企业微信自带的机器人 感谢分享,企业微信自带机器人了 有没有那种1对多的。比如我有100个客户。我需要群发一下,企业微信有这个功能。但是不能定时。能不能通过API调用一下群发命令,来给这100个人定时发送消息。 一剑飘零 发表于 2024-9-2 02:06
有没有那种1对多的。比如我有100个客户。我需要群发一下,企业微信有这个功能。但是不能定时。能不能通过AP ...
这个方法只能在群里@,如果想群发私聊消息,需要你有自己的服务器,域名,用另一种办法创建机器人,你看看你能满足条件不 bgwu666 发表于 2024-9-2 02:17
这个方法只能在群里@,如果想群发私聊消息,需要你有自己的服务器,域名,用另一种办法创建机器人,你看 ...
不是群里。就是单对单发。我要发100个人。路径是工作台---群发助手,这个功能是有,需要手动点。我就想能不能不手动点。