smmcat-signin: 纯粹的签到

koishi-plugin-smmcat-signin


您需要安装 monetary 依赖

插件由来


今天偶然看了一下机器人那边收集到的反馈,后来看到这个用户建议出签到功能。

CCD8377C365BE34EB7E7D96E49553121

似乎也不难,写写看看… 于是就写了一个。只不过,写着写着就有点奇怪了…

插件演示


似乎这个作者写的签到系统中,推出了一周内连续签到额外的奖励。和时间点对应的打招呼,合情合理…

然后还有一个用户签到时段的分析记录,不知道有没有用,反正似乎还行。合情合理…

配置参数,有添加 @atQQ 的参数,和防止文件冲突的自定义 siginPath 存放路径,合情合理…

  • monetary 插件用于积分的互联,推荐使用该插件已实现全局积分
  • 签到数据文件的 data.json 仅用于记录用户签到的历史数据,默认每个用户保留 20

后记


不知道后续再更新什么内容,只要合情合理即可

3 个赞

官方的 checkin 插件被狠狠合情合理的替代惹 ~

这将是 Koishi 必装插件之一,甚至无法被超越?

实际体验特别好~ 她既给本神尊钱,又跟本神尊说晚安,很棒对吧 ~喵喵喵 ~

image

2 个赞

别这样说,这又不是一码事;官方的重心不在插件上。而是在框架上。我们只是前人栽树后人乘凉而已…

3 个赞

第1天签到后,第2天会显示已签到
IMG20240117073757

4 个赞

这个问题已经解决,请尽快更新最新版本 0.07。

5 个赞

好快啊

4 个赞

好快啊

3 个赞

签到插件在最新版本的koishi
发送签到会发生未知错误

                    SyntaxError: Unexpected end of JSON input
                        at JSON.parse (<anonymous>)
                        at getBaseDirStoreData (C:\date\koishi\node_modules\koishi-plugin-smmcat-signin\lib\index.js:26:21)
                        at async getUsersigninData (C:\date\koishi\node_modules\koishi-plugin-smmcat-signin\lib\index.js:33:22)
                        at async Command.<anonymous> (C:\date\koishi\node_modules\koishi-plugin-smmcat-signin\lib\index.js:59:22)
                        at async Array.<anonymous> (C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:1138:14)
                        at async Command.execute (C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:1152:22)
                        at async C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:2175:22
                        at async Proxy.withScope (C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:2078:22)
                        at async next (C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:877:16)
                        at async next (C:\date\koishi\node_modules\@koishijs\core\lib\index.cjs:877:16)
3 个赞

晚点回去看看,顺便一提。这个签到的数据存储方式要做些改动。不要慌

4 个赞

在地铁上已经大概知道是什么问题了,这个问题呢大概是怪当初结构没设计好。

就像让大家挤在一块吃火锅。这边忙着吃,那边倒肉准备涮;
这边等着肉好,那边不知道情况,吃了生肉已经开始窜西了;

这边还在写入,那边开始读取。忙碌的 JSON 开始有脾气了,因此:

所有用户的数据存放在一个JSON 文件里面,这是不合理的

为此 1.0.x 版本将弃用之前臃肿且容易出事的存储方式,改用独立的方式。

我该如何迁移数据 0.0.9 版本的签到记录的数据?

1.0.x 版本预留了 /批处理 指令,发送后会将 data.json 文件内的数据拆解成 1.0.x 版本支持的数据
(该指令会在 1.1.0 版本被删除)

4 个赞

非常简洁有用的插件,能查看自己的积分就更好了

2 个赞

好的,后续版本加个可选功能;查看积分。目前是其他插件查看积分来着;单独拎出来也可以

2 个赞

2.0 日历展示

居然还能更新?

看到鹿管插件后,感觉日历这个功能还是可以的. 所以也增加了可选功能: 是否显示日历

勾选下方选项, 并安装 puppeteer 依赖 就可以展示日历了

效果如下

签到时, 显示当前月历

查询签到历史时,也显示当前月历

2 个赞

3.0 数据库迁移

为了未来更自由的跨表的业务拓展,实现多开发者共享数据。从 3.0 之后,数据库将取代曾经传统的本地文件的分散管理策略。

提供了 /签到数据迁移 可选开启指令,协助将2.x 版本数据,一键迁移到koishi数据库

2 个赞

爱死猫猫了,可以直接读取数据库了,太棒惹

3 个赞

补一下效果



3 个赞

3.1 重复签到问题修复

修复了可以重复签到的问题,请尽快更新!!
@yutang08143232

3 个赞

3.3 重复签到问题修复

修复了以为在3.1版本修复了但是没有修复,又在3.2版本以为修复了,但是还是没有修复,并在3.3版本成功修复了的需要修复的BUG.

问题追溯

总结 删错了 主键

@yutang08143232 @lizard

3 个赞

收到紫薯布丁

3 个赞

能否增加自定义签到回复内容的功能

2 个赞