居然有人忘记吃饭???
为了解决这个问题,我写了一个微信机器人到点就提醒他吃饭。
使用方法
git clone https://github.com/diaozxin007/remindEat
修改 config/default.json 里面的 ‘toName’ 为要提醒人的备注名称。
cd remindEat
npm install
wechaty
使用了无头浏览器,安装的过程中会到 google 下载 chromium。如果遇到下载不成功的错误。可以尝试
export PUPPETEER_DOWNLOAD_HOST=https://storage.googleapis.com.cnpmjs.org
npm install
编译完成后:
node remindEat.js
如果在 ubuntu
上启动报错缺少包,可以参考 puppeteer/docs/troubleshooting.md
到时候对方应该不会忘记吃饭了。
实现原理:
这个机器人主要使用两个库:
- wechaty 一个 node 实现的微信机器人。
- node-schedule 一个定时任务触发器。
其实核心的原理,就在 wechaty 登录以后,注册了一个定时任务。这个定时任务,用于在饭点的时候,注册另外一个 schedule ,同时这个 schedule 是为了实现每分钟一次的提示。
当对方按照指定的话术服务短信的时候,我们只需要调用每分钟提醒一次的 schedule cancel()
方法。
希望每一个人都能按时吃饭,谢谢大家。
Author: 犀利豆 北邮本科,University of Leicester EE 研究生,Java后端开发,目前就职知乎。