写在前面
前段阵子,小红薯平台刷到热门视频,程序员男朋友给她实现了每天定时推送消息给她,其中内容包含当地的天气情况、在一起多少天了,离她过生日还有多少天等信息,她开心不得于是发了小红薯平台觉得很浪漫,评论区一大堆人索要源码,于是本人看了下原理,其实就是Python写了一个脚本,利用微信测试号平台推送消息,毕竟此方案不需要额外准备域名以及服务器资源,简简单单就能实现,针对小白运行python程序简直太难了,于是最简单的exe可执行版本它来了,今天出一个超完整教程来满足评论区的所有朋友们,赶紧跟到教程学起来吧!
实现效果预览
步骤教学
前置条件:
- windows 电脑一台,建议 win10 以上系统,win7 系统可能会出现某种bug
- 一双勤快的双手
1、下载程序
下载好了之后你解压得到如下图两个文件:
说明: 1、config.txt : 程序配置文件,配置你自己的相关信息,后续教程会详细说明 2、main.exe:程序主入口可执行程序
2、申请微信测试号以及参数
浏览器访问网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,打开微信公众平台接口测试账号申请平台,微信扫一扫登录。
登录之后记住测试号的信息:appID
和 appsecret
,后续我们会使用
往下拉打开微信扫码关注测试号后刷新,会在右边出现微信号信息,需要推送给几个人都必须要关注哦,记住这个微信号,后续我们也会使用到
找到模板消息接口里点击新增测试模板,模板标题就是公众号推送过来的标题,模板内容可以参考下面:新增之后记住模版Id,后续我们也会使用到
代码语言:javascript复制{{date.DATA}}
城市:{{city.DATA}}
天气:{{weather.DATA}}
最低气温: {{min_temperature.DATA}}
最高气温: {{max_temperature.DATA}}
今天是我们恋爱的第{{love_day.DATA}}天
距离第一个女朋友的生日还有{{birthday1.DATA}}天
距离第二个女朋友的生日还有{{birthday2.DATA}}天
距离第三个个女朋友生日还有{{birthday3.DATA}}天
{{note_en.DATA}}
{{note_ch.DATA}}
注意:页面上在此没有提及到的信息请不要自己去添加和修改。
3、修改配置信息
使用 记事本 或者 notepad 文本编辑工具打开 config.txt
配置文件,它默认的样子如下:
{
# 公众号配置
# 公众号appId,需要修改为步骤2获取的appID
"app_id": "",
# 公众号appSecret,需要修改为步骤2获取的appsecret
"app_secret": "",
# 模板消息id,需要修改为步骤2中新增模版后获取的模版Id
"template_id": "",
# 接收公众号消息的微信号,如果有多个,需要在[]里用英文逗号间隔,例如["wx1", "wx2"],需要修改为步骤2中获取的微信号
"user": [""],
# 信息配置
# 所在省份 所有城市见本文附录
"province": "四川",
# 所在城市
"city": "成都",
# 生日1 对应模版文件{{birthday1.DATA}}中的内容
"birthday1": "1997-01-01",
# 生日2 对应模版文件{{birthday2.DATA}}中的内容
"birthday2": "1999-12-01",
# 生日3 对应模版文件{{birthday3.DATA}}中的内容
"birthday3": "1990-05-01",
# 在一起的日子,格式同上
"love_date": "2022-04-05"
}
各参数对应截图如下:
4、运行程序
保证 config.txt
没有问题,并且保持和 main.exe
在同一目录,直接双击运行 main.exe
弹出小黑窗提示按任意键退出提示,不出意外微信就收到了消息推送,注意这个测试号是在订阅号里面,不是在最外面,所以一定要点进订阅号才能看到这条消息。
学废了赶快快去给Ta实现一下吧~
5、设置每天定时推送(可选)
此操作必须保证你的电脑到推送的时间是保持开机状态才会生效。
- 搜索框搜索任务计划程序
- 点击右边新建任务,名称,描述自定义
- 点击触发器,新建触发器
- 自己定义想要执行的时间和频率,比如每天8点执行。勾选已启用
- 点击操作,新建操作
- 程序或脚本选择
main.exe
所在的路径,起始于填写目录的位置 - 条件去除勾选(只有在计算机使用交流电源时才启动此任务)
- 设置勾选(如果过了计划开始时间,立即启动任务)
- 等待到达设置时间自动推送
常见问题
- 双击运行报错无法启动此程序,因为计算机中丢失api-ms-win-core-path-1-1-0.dll? 答:此错误是电脑缺少部分运行需要的组件,一般出现在win7系统上面,建议换电脑或者自己百度下载对应缺少补丁安装再运行。
- 双击运行提示 Unhandled exception in script?
答:请检查你的
config.txt
配置文件哦,主要所有逗号是英文状态下的,还有双引号不要添加多了,推送多个帐号填写正确格式为 "user": ["11111111","2222222","33333333"], - 运行程序没有报错,但是没有收到消息推送? 答:消息是在订阅号点进去里面展示哦,检查了还是没有请重新退出申请测试号再登录,对比appID和appSecret是否改变了,若改变了重新填写保存再运行试试。
- 可以修改测试号xxxx的名称? 答:不可以哦,要修改只有认证了的公众号才支持哦。
- 可不可以不要推送消息最后两行字? 答:可以的,你只用删除模版最后两行即可,那个文字是每天都会变的,因此不建议你删除。
扩展阅读
- 如何设置每天定时任务推送? 答:实现方式有多种,请根据自己的情况实现,1、windows计划任务管理添加;2、使用Python源码方式运行,Linux提供 crontab 定时任务操作;3、第三方宝塔面板计划任务实现;4、github action脚本实现定时运行
- 怎么增加定时喝水提醒? 答:只需要添加新模版,写入内容即可,只要掌握到原理,好玩的方式请发挥你的想象。
倾听
大家想了解什么黑科技,可以在评论区留言,包括但不限于程序相关、电脑技巧、软件资源、娱乐资源等。