一个可以OCR 打卡并生成统计方块图的机器人。
项目背景
由于疫情的影响,大家都减少了不必要的外出,互联网行业也有很多公司在家办公。带来的一个问题就是,大家外出和运动的时间减少了,几乎都宅在家里,很多人体重开始飙升。于是朋友建了一个健身打卡群,每天大家在家运动健身,然后在群里进行打卡。非常好的一件事情,唯一的缺点就是,打卡行为只能靠自觉约束,并且不能很好的记录到底打卡多少天了?是否连续打卡?也不能准确的知道打卡最积极的人并给予一些奖励。
这个时候想到微信机器人,其实很多年前我就搞过微信机器人,后来由于web 版本的掉线太频繁,就放弃了一段时间。这次借此契机,又上github 搜索了一下wechaty,看到ipad 协议的机器人支持度很好,于是决定重操旧业,开发一个打开机器人。
项目需求
- 支持关键字打卡,例如:发送“打卡”即可打卡成功
- 记录打卡人的详细信息,包括昵称、备注、头像、打卡时间等
- 打卡成功后,生成精美的图片卡片,并包含打卡日期统计图
- 针对分享在群里的图片(keep截图等),进行ocr识别,提前关键字自动打卡
- 支持机器人聊天,活跃群气氛
项目实现
感谢wechaty提供的框架,项目目前以上功能均已实现,并且还增加了一些外的小功能。在此分享几个实现过程中的功能点。
开发框架
首先,我们在代码编码之前,应该设计一些代码的目录结构和基本框架,好的框架能让开发得心应手,提高效率。
|-tiny-bot
|-Dockerfile
|-README.md
|-package.json
|-src
| |-api
| | |-constellation.js
| | |-turing.js
| | |-<