diff --git a/gradle.properties b/gradle.properties index cb1dc67..d63a7d4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ MORNY_ARCHIVE_NAME = morny-coeur MORNY_CODE_STORE = https://github.com/Eyre-S/Coeur-Morny-Cono MORNY_COMMIT_PATH = https://github.com/Eyre-S/Coeur-Morny-Cono/commit/%s -VERSION = 1.5.0-alpha.2 +VERSION = 1.5.0-alpha.3 USE_DELTA = false VERSION_DELTA = diff --git a/src/main/scala/cc/sukazyo/cono/morny/bot/event/MornyOnUpdateTimestampOffsetLock.scala b/src/main/scala/cc/sukazyo/cono/morny/bot/event/MornyOnUpdateTimestampOffsetLock.scala index 734af34..fc3079a 100644 --- a/src/main/scala/cc/sukazyo/cono/morny/bot/event/MornyOnUpdateTimestampOffsetLock.scala +++ b/src/main/scala/cc/sukazyo/cono/morny/bot/event/MornyOnUpdateTimestampOffsetLock.scala @@ -2,10 +2,12 @@ package cc.sukazyo.cono.morny.bot.event import cc.sukazyo.cono.morny.bot.api.{EventEnv, EventListener} import cc.sukazyo.cono.morny.MornyCoeur +import cc.sukazyo.cono.morny.bot.event.MornyOnUpdateTimestampOffsetLock.ExpiredEvent class MornyOnUpdateTimestampOffsetLock (using coeur: MornyCoeur) extends EventListener { private def checkOutdated (timestamp: Int)(using event: EventEnv): Unit = + event.provide(ExpiredEvent) if coeur.config.eventIgnoreOutdated && (timestamp < (coeur.coeurStartTimestamp/1000)) then event.setEventCanceled @@ -15,3 +17,7 @@ class MornyOnUpdateTimestampOffsetLock (using coeur: MornyCoeur) extends EventLi override def onEditedChannelPost (using event: EventEnv): Unit = checkOutdated(event.update.editedChannelPost.date) } + +object MornyOnUpdateTimestampOffsetLock { + object ExpiredEvent +} diff --git a/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnOnAlias.scala b/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnOnAlias.scala index bb44c48..b6484e7 100644 --- a/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnOnAlias.scala +++ b/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnOnAlias.scala @@ -5,6 +5,7 @@ import cc.sukazyo.cono.morny.MornyCoeur import cc.sukazyo.cono.morny.util.tgapi.InputCommand import com.pengrad.telegrambot.model.Chat +// fixme: not tested yet class OnOnAlias (using coeur: MornyCoeur) extends EventListener { override def onMessage (using event: EventEnv): Unit = { diff --git a/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnQuestionMarkReply.scala b/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnQuestionMarkReply.scala index ca180fb..177f400 100644 --- a/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnQuestionMarkReply.scala +++ b/src/main/scala/cc/sukazyo/cono/morny/bot/event/OnQuestionMarkReply.scala @@ -4,6 +4,7 @@ import cc.sukazyo.cono.morny.bot.api.{EventEnv, EventListener} import cc.sukazyo.cono.morny.MornyCoeur import cc.sukazyo.cono.morny.bot.event.OnQuestionMarkReply.isAllMessageMark import cc.sukazyo.cono.morny.util.tgapi.TelegramExtensions.Bot.exec +import cc.sukazyo.cono.morny.Log.logger import com.pengrad.telegrambot.request.{ForwardMessage, SendMessage} import scala.language.postfixOps @@ -14,6 +15,19 @@ class OnQuestionMarkReply (using coeur: MornyCoeur) extends EventListener { override def onMessage (using event: EventEnv): Unit = { import event.update + // FIXME: not tested yet, due to cannot connect to test bot + if boundary[Boolean] { + event.consume[MornyOnUpdateTimestampOffsetLock.ExpiredEvent.type] { _ => + boundary.break(true) + } + false + } then { + logger.debug("OnQuestionMarkReply: expired event, skipped") + return + } else { + logger.debug("OnQuestionMarkReply: event continue") + } + if update.message.text eq null then return import cc.sukazyo.cono.morny.util.UseMath.over