基于 itchat 的微信机器人(高度分化)

高三寒假,学校老师为了让学生寒假认真落实作业,竟然想出来微信群接龙的方法。但实际效果差强人意(勉强让人满意),最主要是 SST 说要一个统计软件,于是作为一个生物课代表,决定为化学课代表们开发一个自助打卡机器人(对对对,你没有看错,生化不分家)。

一共有8天需要打卡

Day1
第一天用来接龙了
晚上就做出来 Project Tan v0.0.1
用了 SST 的微信号

Day2
不删档测试,最开始的功能非常简陋,需要@sst 才能触发机器人,而且机器人自动回复的内容都还有少量用来 debug 的信息,并且最让人尴尬的是,晚上我用自己的微信号测试,没想到 SST 居然在群里打卡了,直接导致两个机器人互相复读,画面太美……
晚上发布 v0.1,修了 bug 优化输出文案,添加当日打卡记录查询功能,并且无需@,仅需使用关键词就能触发机器人

Day3-5 正常运行

Day6
发布 v0.9 规范触发词“我/打卡”

Day7
最后一更 发布 v1.0 增加“打卡总记录”查询功能(课代表only),添加删除打卡记录功能,添加输出 xls 统计每人在作业日的打卡记录。

Day8 正常运行

下面是机器人触发词及功能

Project Tan-Jacky's Blog

忽略词:「Tan」,「不」避免两个机器人复读/避免奇怪的打卡激活语句

实际使用效果截图

Project Tan-Jacky's Blog
打卡总记录
Project Tan-Jacky's Blog
查询打卡
Project Tan-Jacky's Blog
删除记录[日志ID]
Project Tan-Jacky's Blog
我/打卡,返回日志ID

生成打卡报告 python3 report.py
内容包括每个人每次作业日的打卡情况,如图

Project Tan-Jacky's Blog
打卡报告

项目的开源主页: https://github.com/0xJacky/Tan