araea / koishi-plugin-message-counter

用于统计群聊中用户的发言次数,并生成各种排行榜,包括日榜、周榜、月榜、年榜、总榜和圣龙王榜。🐉
5 stars 0 forks source link

关于数据库重置问题 #4

Open ghost opened 11 months ago

ghost commented 11 months ago

代码里写的是0点重置数据库,这意味着如果在前一晚12点之前将电脑休眠,第二天再唤醒,机器人在0点时没有运行,就会导致数据库无法重置。

araea commented 11 months ago

嗯嗯,知道了😊!( • ̀ω•́ )✧ (≧∇≦) 友友想怎么解决呢🤔🤔🤔

ghost commented 11 months ago

我的想法是,可以在数据表里增加一个字段存储日期。写入数据库时,如果日期不一致则将messageCount清零,否则+1。 具体实现如下: message_counter_daily_records增加年月日字段,message_counter_monthly_records增加年月字段,message_counter_yearly_records增加年份字段。 updateRecord方法里多传一个用于检查日期的参数,更改数据表时,检查日期,日期不一致则将messageCount归零并更新日期,一致则加1。仅加1可以试试求值表达式: messageCount: { $add: [{ $: 'messageCount' }, 1] } 用getMessageCounterRecords方法从数据表里查询时,加日期字段,仅查日期在当天的记录。

你觉得这样如何?

araea commented 11 months ago

想法超级好(ㆆᴗㆆ)💡 ฅ(̳•◡•̳)ฅ

araea commented 11 months ago

感谢阁下的反馈喵~ 已经更新啦喵~ (°∀°)ノ

  1. 新增手动清理数据表指令。
  2. 新增自动清理数据表。