本帖最后由 bgwu666 于 2024-9-2 01:40 编辑
利用企业微信机器人API实现定时推送消息
最近有坛友想定时推送消息到企业微信群,代替手动发送以节省时间,以前有过接触Server酱的经历,也一直在使用备用机安装短信转发器推送短信到微信,看了一圈下来,如果简单推送消息,使用企业微信机器人API即可完成任务。
搭建流程
创建企业及机器人
-
打开企业微信APP,创建新企业,填写相关信息。
-
打开「企业微信APP」,找到预推送消息到企业群,点击「右上角...」进入群详情,点击「群机器人」,点击「添加机器人」,点击「新建」,输入机器人信息,点击「添加」,复制得到的Webhook地址备用。
具体消息推送格式参见:群机器人配置说明
这里例举一个简单的Markdown格式消息推送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 = [System.Text.Encoding]::UTF8.GetBytes($markdownContent)
# 创建一个HTTP请求
$headers = @{
"Content-Type" = "application/json"
}
Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $byteArray -Headers $headers
运行截图:
配置定时发送程序
这里使用Windows自带的计划任务实现定时发送
-
保存我上面贴出的代码,修改好Key、发送内容,保存为后缀为.ps1 的脚本。
-
点击「搜索」,输入「任务计划程序」,打开任务计划程序。
-
点击「创建基本任务」,填入任务名称,触发器按要求选择,我这里选择「每天」,设定触发时间,操作选择「启动程序」,在程序与脚本页面选择「刚保存的脚本」,点击「完成」即可。
完成上述操作后,电脑就会每天在设定的触发时间自动运行脚本,完成消息推送。
写在最后
本文讲述了如何使用企业微信创建企业并添加企业机器人,利用PowerShell脚本配合Windows任务计划程序完成消息到定时推送。我示范的发送程序是PowerShell,理论上任何可以发送Post请求的程序或编程语言都可以实现上述功能,例如Curl、Python的Requests模块、java等。此外,我仅示范了Markdown的发送,对于Markdown的其他语法,或者发送纯文本、图片、卡片等消息格式,请参考群机器人配置说明。
顺便提一下,论坛对于Markdown的支持太差了,图片大小居然没办法调整。。。
|