koishi-plugin-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)
2 个赞

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

3 个赞

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

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

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

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

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

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

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

3 个赞

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

1 个赞

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

1 个赞