程序员的浪漫实现每天定时给Ta推送消息提醒保姆级超详细教程

2022-11-29 17:41:34 浏览数 (1)

写在前面

前段阵子,小红薯平台刷到热门视频,程序员男朋友给她实现了每天定时推送消息给她,其中内容包含当地的天气情况、在一起多少天了,离她过生日还有多少天等信息,她开心不得于是发了小红薯平台觉得很浪漫,评论区一大堆人索要源码,于是本人看了下原理,其实就是Python写了一个脚本,利用微信测试号平台推送消息,毕竟此方案不需要额外准备域名以及服务器资源,简简单单就能实现,针对小白运行python程序简直太难了,于是最简单的exe可执行版本它来了,今天出一个超完整教程来满足评论区的所有朋友们,赶紧跟到教程学起来吧!

实现效果预览

步骤教学

前置条件:

  1. windows 电脑一台,建议 win10 以上系统,win7 系统可能会出现某种bug
  2. 一双勤快的双手

1、下载程序

下载好了之后你解压得到如下图两个文件:

说明: 1、config.txt : 程序配置文件,配置你自己的相关信息,后续教程会详细说明 2、main.exe:程序主入口可执行程序

2、申请微信测试号以及参数

浏览器访问网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,打开微信公众平台接口测试账号申请平台,微信扫一扫登录。

登录之后记住测试号的信息:appIDappsecret,后续我们会使用

往下拉打开微信扫码关注测试号后刷新,会在右边出现微信号信息,需要推送给几个人都必须要关注哦,记住这个微信号,后续我们也会使用到

找到模板消息接口里点击新增测试模板,模板标题就是公众号推送过来的标题,模板内容可以参考下面:新增之后记住模版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 配置文件,它默认的样子如下:

代码语言:javascript复制
{
# 公众号配置
# 公众号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、设置每天定时推送(可选)

此操作必须保证你的电脑到推送的时间是保持开机状态才会生效。

  1. 搜索框搜索任务计划程序
  2. 点击右边新建任务,名称,描述自定义
  3. 点击触发器,新建触发器
  4. 自己定义想要执行的时间和频率,比如每天8点执行。勾选已启用
  5. 点击操作,新建操作
  6. 程序或脚本选择 main.exe 所在的路径,起始于填写目录的位置
  7. 条件去除勾选(只有在计算机使用交流电源时才启动此任务)
  8. 设置勾选(如果过了计划开始时间,立即启动任务)
  9. 等待到达设置时间自动推送

常见问题

  1. 双击运行报错无法启动此程序,因为计算机中丢失api-ms-win-core-path-1-1-0.dll? 答:此错误是电脑缺少部分运行需要的组件,一般出现在win7系统上面,建议换电脑或者自己百度下载对应缺少补丁安装再运行。
  2. 双击运行提示 Unhandled exception in script? 答:请检查你的 config.txt 配置文件哦,主要所有逗号是英文状态下的,还有双引号不要添加多了,推送多个帐号填写正确格式为 "user": ["11111111","2222222","33333333"],
  3. 运行程序没有报错,但是没有收到消息推送? 答:消息是在订阅号点进去里面展示哦,检查了还是没有请重新退出申请测试号再登录,对比appID和appSecret是否改变了,若改变了重新填写保存再运行试试。
  4. 可以修改测试号xxxx的名称? 答:不可以哦,要修改只有认证了的公众号才支持哦。
  5. 可不可以不要推送消息最后两行字? 答:可以的,你只用删除模版最后两行即可,那个文字是每天都会变的,因此不建议你删除。

扩展阅读

  1. 如何设置每天定时任务推送? 答:实现方式有多种,请根据自己的情况实现,1、windows计划任务管理添加;2、使用Python源码方式运行,Linux提供 crontab 定时任务操作;3、第三方宝塔面板计划任务实现;4、github action脚本实现定时运行
  2. 怎么增加定时喝水提醒? 答:只需要添加新模版,写入内容即可,只要掌握到原理,好玩的方式请发挥你的想象。

倾听

大家想了解什么黑科技,可以在评论区留言,包括但不限于程序相关、电脑技巧、软件资源、娱乐资源等。

0 人点赞