全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 812|回复: 11

花了一下午,使用ai编写了一个倒计时提醒系统。

[复制链接]
发表于 前天 19:56 | 显示全部楼层 |阅读模式
本帖最后由 mujj 于 2026-3-18 20:11 编辑

现在的ai,真的是有些过于强大了。
完全不懂代码的人,也能使用ai根据自己的需求定制一个程序了。
使用的是deepseek网页版。

程序简介:基于Cloudflare Workers & D1 数据库,设置一个日期,当该日期到来时,通过Server酱发送通知。
提醒日期可以设置成,单次、每年重复、每月重复、每周重复,四种类型。
单次类型的提醒,过期之后不会自动删除,而是显示负天数。
重复类型的提醒,没有过期的概念。

程序首次运行,使用默认账号/密码admin登录,登录后可修改账户和密码。

在修改账户密码的地方,填上你的Server酱3的API URL,(注意是Server酱3(https://sc3.ft07.com)),填写完整的API URL,而不是SendKey。

Server酱(https://sct.ftqq.com)或者其他类似的推送服务,应该也能用,因为是直接把完整的API URL写入数据库了,而不是使用SendKey拼接。

但我没试过,需要修改就让AI来改,真的很方便。

里面的“天数”,是指提前几天开始通知你。比如你填的7,那么到期前的7天,和接下来的每一天,包括当天,都会发一条推送通知你。
“立即执行”不等待定时任务触发,立即执行。
“发送全部”就是忽略到期时间,将所有的到期时间为正数的提醒条目一起发给你。


搭建步骤:
一:创建D1数据库  
在Cloudflare控制台创建D1数据库,名称随意

二:创建Workers项目,名称随意

三:绑定服务  
在Worker项目的设置页面,绑定刚刚创建的D1数据库  
数据库变量名称: DB

四:绑定域名(可选)  
在Worker项目的设置页面,绑定自定义域名

五:设置定时任务(定时检查是否有需要通知的条目)  
在Worker项目的设置页面,设置触发事件  
选择Cron 触发器,Cron 表达式,0 0 * * *,代表每天上午八点运行(时差8小时)

六:部署代码  
在Worker项目的设置页面,点击编辑代码。使用附件里的代码替换原有代码,点击部署即可。

七:打开网页,使用默认账号/密码admin登录。

worker.zip (12.64 KB, 下载次数: 10)

虽然现在能用了,但应该还会有什么bug或者算法问题。
发现后如果愿意的话,欢迎回帖告诉我,因为我是真的用在生产环境的,不希望什么bug影响到我。
 楼主| 发表于 昨天 15:03 | 显示全部楼层
本帖最后由 mujj 于 2026-3-19 16:57 编辑

续期功能不可用,直接加天数,太简单粗暴了。
实际上续期分好多种情况,要好好的捋一捋。


deepseek_javascript_20260319_010fad.zip (14.86 KB, 下载次数: 5)
升级版,现在改为使用企业微信群机器人,进行消息推送。@美国VPS综合讨论 你想要的Telegram通知肯定也能实现,毕竟没墙。让AI给你改就行。

可以直接在微信里面查看通知,不用安装企业微信的。
以下是我的升级方式,给大家参考下,在deepseek网页版上面上传代码文件。
然后发送以下文字给它。
给这个程序进行以下功能升级:
1:删除“操作”列当中的“删除”按钮,把“删除”按钮移动到“编辑”按钮当中。
当打开“编辑”按钮之后,除了“保存”和“取消”,还要有一个“删除”按钮,用以删除这条提醒。

2:增加一个“续期”的功能,按钮放在“操作”列当中,当点击这个“续期”按钮之后,弹出一个对话框,分别有“30”、“90”、“180”“365”、“自定义”这些选择。
它们的功能是,当我点击30后,就把该条提醒的“日期”增加30天,同理,90、180、365也是一样的逻辑,自定义就是允许我自己输入数字,增加想要的天数。
增加天数完成之后,通过Webhook推送通知,内容就是:“标题”+xx天,还有{daysLeft}天过期。

3:修改完上面两项之后,现在“操作”列应该有三个按钮,我希望对它们进行排序,“编辑”、“测试”、“续期”,我希望它们能按这个顺序排列。

4:给所有的弹出对话框的右上角,增加一个“X”,用以关闭这个窗口。
现在的弹出对话框关闭方式是鼠标点击该弹出对话框区域以外的地方就会关闭,这样非常容易误触,导致关闭,需要把这个机制取消掉。

5:修改推送通道,不再使用Server酱,移除Server酱推送功能的相关代码、注释、名词、等等一切。
新的推送通道使用Webhook,它有两个参数必须遵守,请你根据要求编写相关代码。

参数:msgtype(消息类型,仅支持text)
参数:content(文本内容,最长不超过2048个字节,必须是utf8编码)
以下为厂商提供的案例,你可以参考一下。
{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
    }
}

修改完成后,请务必认真检查,确认无误后,把完成的代码完整的交给我。
发表于 前天 19:58 | 显示全部楼层
挺不错的小工具
发表于 前天 20:17 | 显示全部楼层
能倒计24小时内的吗?像闹钟一样?
 楼主| 发表于 前天 20:34 | 显示全部楼层
小不点儿 发表于 2026-3-18 20:17
能倒计24小时内的吗?像闹钟一样?

也是可以实现的,让ai给你改就是了。
这个程序的执行,是通过定时器触发的。
所以只要定时器设置的频繁一点,比如每分钟执行一次,就能精确到分钟通知了。
发表于 昨天 10:41 来自手机 | 显示全部楼层
我早就想搞个类似的玩意了,方便续期之类的,可以增加一个按天数倒计时吗,比如初始90天,倒计时到30天开始提醒,然后自己保号续期了上去按按钮,可以把倒计时增加60天,或者增加到90天,因为GV或者境外卡续期方式就是这样的。然后直到下次低于设定值再发通知。部署在CF上没有墙的话是不是还能调用Telegram通知?
发表于 昨天 13:37 | 显示全部楼层
发表于 昨天 13:55 | 显示全部楼层
本帖最后由 度百 于 2026-3-19 14:15 编辑

手机有个提醒事项也好用,不过楼主咋不提交github
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-3-20 12:55 , Processed in 0.066040 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表