1.前言
本人在日常上课时经常因为不同的课程需要前往不同的教室,又经常忘记所以便有了此想法,做一个消息推送在上课前将要上课的内容将上课地点推送至手机。
本文主要使用Grok和DeepSeek来实现。
推送平台为IOS APP Pushdeer
2.实现过程
对话内容:
优化我下面的AI询问内容 并转换为英文 帮我写一个golang程序解析json文件获取课程信息,然后在课程时间内推送到指定API接口 https://api2.pushdeer.com/message/push?pushkey=&text=标题&desp=&type=markdown ,需要在上课前20分钟推送当前即将上的课程无课程则无需推送,需要计算单双周,有些课程只有单周才上有些只有双周才上,配置文件可以设置推送的接口 和key课程的时间,课程开始日期 用于计算单双周。 你必须使用中文与我交流 务必可以在config.json文件中设置课程开始时间, fmt.printf输出的内容请使用中文 请每隔一段时间重新加载courses.json 文件 并打印输出每个课程的课程名称+上课时间+推送时间 如果与上次输出内容一致则不打印输出 每天7.30和12.30必定输出一次 在第一次启动程序也必须输出一次加载信息,并且输出当前时间等信息,可以在config.json中设置间隔时间以h为单位可以最小值0.1h最大值48h 忽略 网络教学 的课程 支持1-2 3-4 这种方式 因为大部分课程都是连着两节课一起上 无需重复推送 启动时和定时间隔输出当前周次 首次启动额外输出本周的课程 以下是json的内容
Grok输出内容:
将转换英文的内容使用Grok新建会话等待继续输出的代码
代码还是有一些问题,在补充微调
对话内容:
Set the class time for each class in config. json to facilitate push notifications.
Grok输出的代码:main-tKaH.go
然后就是修改准备好课程的json数据,修改系统时间测试。发现并没有如期的推送消息。接下来使用Deepseek调整代码
与Deepseek对话内容
帮我检查下面的代码 为什么到时间没有进行课程消息的推送?
(代码在这里省略,一样需要发代码过去。)
Deepseek输出结果:main-HILb.go
之后直接进行测试运行代码
看到日志输出结果正常推送,接下来查看手机是否收到消息推送。
最后编译为Linux二进制程序 使用1Panel部署
到此结束