修复 插件重启后允许重复签到问题

This commit is contained in:
筱傑 2022-01-23 18:30:36 +08:00
parent 549e0b669e
commit c0d4a60be2
2 changed files with 14 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import net.mamoe.mirai.console.data.AutoSavePluginData
import net.mamoe.mirai.console.data.ValueDescription import net.mamoe.mirai.console.data.ValueDescription
import net.mamoe.mirai.console.data.value import net.mamoe.mirai.console.data.value
import top.jie65535.jhr.game.PlayerStatistics import top.jie65535.jhr.game.PlayerStatistics
import java.util.*
object JHRPluginData : AutoSavePluginData("HorseRacingPluginData") { object JHRPluginData : AutoSavePluginData("HorseRacingPluginData") {
@ -18,4 +19,10 @@ object JHRPluginData : AutoSavePluginData("HorseRacingPluginData") {
@ValueDescription("赛马获胜计数") @ValueDescription("赛马获胜计数")
val horseWinCount: MutableList<Int> by value() val horseWinCount: MutableList<Int> by value()
@ValueDescription("签到表日期")
var signDate by value(Calendar.getInstance().get(Calendar.DATE))
@ValueDescription("当日签到表")
var signUpSheet by value(mutableListOf<Long>())
} }

View File

@ -36,16 +36,14 @@ object JHorseRacing : KotlinPlugin(
} }
) { ) {
// region 签到 // region 签到
private var date = Calendar.getInstance().get(Calendar.DATE)
private val mSignUpSheet = mutableListOf<Long>()
private val signUpSheet: MutableList<Long> private val signUpSheet: MutableList<Long>
get() { get() {
val now = Calendar.getInstance().get(Calendar.DATE) val now = Calendar.getInstance().get(Calendar.DATE)
if (date != now) { if (JHRPluginData.signDate != now) {
date = now JHRPluginData.signDate = now
mSignUpSheet.clear() JHRPluginData.signUpSheet.clear()
} }
return mSignUpSheet return JHRPluginData.signUpSheet
} }
private fun checkSign(id: Long): Boolean { private fun checkSign(id: Long): Boolean {
@ -457,7 +455,6 @@ object JHorseRacing : KotlinPlugin(
subject.sendMessage(msgB.asMessageChain()) subject.sendMessage(msgB.asMessageChain())
} }
msg == "统计" -> { msg == "统计" -> {
val stat = getPlayerStat(sender.id)
val ret = MessageChainBuilder() val ret = MessageChainBuilder()
ret.append(message.quote()) ret.append(message.quote())
.append(getPlayerStat(sender.id).toString()) .append(getPlayerStat(sender.id).toString())
@ -465,12 +462,12 @@ object JHorseRacing : KotlinPlugin(
subject.sendMessage(ret.asMessageChain()) subject.sendMessage(ret.asMessageChain())
} }
msg == "胜率" -> { msg == "胜率" -> {
val ret = MessageChainBuilder() logger.info("查询胜率")
val ret = StringBuilder()
for (i in 0 until horseCount) { for (i in 0 until horseCount) {
ret.append("${horseLogo}${i+1} ${JHRPluginData.horseWinCount[i]}/${JHRPluginData.totalRankCount}\n") ret.append("${horseLogo}${i+1} ${JHRPluginData.horseWinCount[i]}/${JHRPluginData.totalRankCount}\n")
} }
if (ret.isNotEmpty()) subject.sendMessage(ret.toString())
subject.sendMessage(ret.asMessageChain())
} }
} }
} }