微信通知,每天给女朋友发早安、情话、诗句、天气信息等
微信通知能力的核心链路已完成,就消息内容而言不限,基于此,可以根据个人需求完成各种私人定制
Support this project by starring and sharing it. Follow me to see what other cool projects I'm working on.
建议直接查看 config.yml 配置文件,里面有详细的配置功能说明~
-
每天给女友发早安和土味情话
点击查看详细内容
- 个人定制化信息
- 天气信息
- 农历信息
- 黄历信息
- 节日信息
- 生日提醒
- 纪念日提醒
- 彩蛋消息
- 每日一言
- 最美宋词
- 雷人笑话
- 土味情话
- 每日英语
- 睡前故事
- 60s看世界
星河耿耿,不如你眼眸璀璨,晚风习习,不如你温柔绮丽。
你闻到空气中有烧焦的味道吗?那是我的心在为你燃烧。
『苏轼《水调歌头》』有悲欢离合,月有阴晴圆缺,此事古难全。
『ONE杂志』爱情无非是年轻人一起喝酒做梦。
『网易云音乐热评』你相信吗 也许在另一个平行时空 有一个跟你长得很像很像的人 正在热烈得爱着那个你爱不到的人——想见你想见你想见你
『一言』你的眼中,明暗交杂,一笑生花。
『每日英语(Jan 9, 2022』In case I don't see you… Good afternoon, good evening, and good night.
这里我们可以自己选择第三方开放API,或者自己定制
目前接口数据能力主要由天行数据提供,随便注册一个账户会员即可,无门槛
- 会员免费接口数量:15个
- 每日赠送次数:100次
注:如果采取该接口,需要在 添加环境变量这一步中,再添加Key
的变量值TIAN_API_KEY
,作为天行数据接口使用时的必填参数
免费开源接口需要考虑服务稳定性!
本项目目前已使用到的天行数据接口见 src/api/loveMsg
提醒:
天气数据API接口:https://www.tianqiapi.com/ 不再免费提供使用了,为了测试,新用户注册可免费使用2000次
非收费接口也有,不过目前看来功能有限(免费接口很容易这样用着用着就不行了😿)
为了求稳,决定暂时先不用免费的接口了,该功能使用天行数据提供的接口API,
简要说明:
其他非天气接口,注册会员用户每天可免费调用100次,个人使用足够了,对于天气这种特殊接口采用独立计费模式,不过价格也足够便宜,1元10000次,且申请接口后立即赠送500次。
准备工作:
如果你需要使用到 Git的功能,你还需要安装Git
3种方式:
需要指出的是,企业微信2022.6.20号的安全更新影响如下:
如果你是在该日期之后注册的应用,那么在调用接口发送消息通知时,接口会提示IP错误,详情请查看 企业可信ip问题讨论
- 对于本地发送消息的用户,你可以把报错的本地IP复制后填写到应用后台的可信IP内,便可以暂时解决这个问题(电脑重启后IP可能会变)
- 对于使用
GitHub Action
的用户来说,因为 Action的运行服务器是不固定的,会经常变动,目前没发现合适的解决方案 - 对于拥有自己服务器的同学,以及2022.6.20之前注册过应用的同学暂时不受影响
- 可信IP问题,参见deploy分支,云函数部署的解决方案,支持固定IP
- 可信域名的问题,见seph1rex同学提供的解决方案(可信域名.docx)(文件位置:
images/可信域名.docx
)
WX_COMPANY_ID= 企业ID
WX_APP_ID= 应用ID
WX_APP_SECRET= 应用 Secret
TIAN_API_KEY= 天行数据 key
点击查看企业微信的注册步骤的详细示例
用电脑打开企业微信官网,注册一个企业。有手机号就可以注册,不用营业执照!不用营业执照!不用营业执照!
注册成功后,点「管理企业」进入管理界面,选择「应用管理」 → 「自建」 → 「创建应用」
应用名称随意填,可见范围选择公司名(或指定组织、个人,建议选择全部,然后在代码里指定用户)。
指定成员或组织
创建完成后进入应用详情页,可以得到应用 ID( agentid )①,应用 Secret( secret )②。
进入「我的企业」页面,拉到最下边,可以得到企业 ID③。
进入「我的企业」 → 「微信插件」,拉到下边扫描二维码,关注以后即可收到推送的消息。
PS:如果出现接口请求正常,企业微信接受消息正常,个人微信无法收到消息
的情况:
-
可以先star本项目给个支持,然后直接fork本项目 => 克隆至本地
-
复制
.env.example
文件重命名为.env
,并按照要求填写对应变量值 -
安装依赖
# 推荐使用pnpm(如果未安装,可先全局安装`npm install -g pnpm`) pnpm install # or npm install
-
执行脚本
# 推荐使用这种方式 pnpm start # or npm start
或者
# 先build构建再执行脚本 # 1. build构建生成js文件 pnpm build # 2. node执行js文件 node dist/index.js
注:本项目不作为包发布,因此暂不考虑build构建,直接通过脚本运行即可,github服务已配置有缓存,无需担心安装性能问题
如果要通过 GitHub Action
使用,需要在 Secrets
中一一添加变量,脚本会自动运行,当然,你也可以根据自身需求调整,见 .github/workflows/goodMorning.yml
GitHub Action每天7:30自动执行,脚本配置如下:ci.yml
schedule:
# `分 时 天 月 周` 时按照标准时间 北京时间=标准时间+8 18表示北京时间早上2点
# 早上 7:30
- cron: '30 23 * * *'
使用 pm2 实现对自动化脚本的本地化部署。当使用该方式后,你只需配置好发送消息的时间,然后启动服务即可😎
如果你是以下设备,请注意:
- 本地电脑:不关机无影响,关机后,需要开机后开启本服务
- 服务器:无影响,启动服务后会一直保持运行(服务器默认不关机、重启)
服务器部署服务的使用方式逻辑和本地开发一样,需要先clone本项目 => 安装依赖 => 执行脚本
如何启动服务:
npm run depoly:start
如何停止服务:
npm run depoly:stop
如何查看服务:
# 查看服务状态
npm run depoly:status
# 查看服务日志
npm run depoly:log
直接使用按量付费的Serverless云函数,方便快捷,腾讯云函数、阿里云函数、华为云函数等等都可以~
本示例采用的是腾云函数,支持指定固定IP,可以有效解决可信IP的问题,详情见deploy分支
提供 config.yml 配置文件,方便快速自定义调整内容参数
如:女朋友所在城市为蚌埠
,则 city_name: 蚌埠
yml语法比json更简洁易读,比较简单,阮一峰 YAML 语言教程
- 2022-01-25:README文档更新、添加图示,免费天气接口稳定性及功能标注
- 2022-01-26:天气接口调整、功能调整,见分支
feat/weather
- 2022-02-09:增加容错处理,增加独立配置文件方便用户定制
- 2022-08-24:fix 美丽短句config配置问题adf87fc,完善文档
- 2022-08-30: 增加本地化部署自动化脚本服务的功能PR
- 2022-09-05: 美化模板,添加表情
- 2022-10-23:新增纪念日、生日提醒、自定义love message、彩蛋🎃
- 2022-10-24:新增高温提醒、低温提醒、自定义内容
- 2022-10-25:新增第二卡片:可以根据当前内容是否大于512字节自动启用,也支持手动启用,启用后纪念日、生日、彩蛋将只会在第二卡片中展示
- 2022-10-26:新增黄历、第二卡片根据重要消息智能启用
你可以关注我公众号(前端小帅),然后加我微信交流,或者直接添加交流群,一起沟通学习~
GPLv3 协议:凡使用本项目,其代码必须公开;如由此项目衍生的收费服务,必须提前告知终端用户此项目是可以免费获得及收费的理由;在本项目基础上 Fork、修改后的代码,必须采用 GPLv3 协议(转载引用请注明作者和项目地址)。
感谢一直以来支持本项目的同学,并且为本项目的发展提供了很多思路和建议~❤
如果觉得这个项目还不错,或者这个项目对你有所帮助,可以选择请作者喝咖啡~
你的 star 就是对我的最大支持🙏