diff --git a/achievements/editor/build.gradle.kts b/achievements/editor/build.gradle.kts new file mode 100644 index 00000000..88a63b72 --- /dev/null +++ b/achievements/editor/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + kotlin("jvm") +} + +dependencies { + api(project.projects.core) + api(libs.tgbotapi.core) + implementation(libs.log4j.api) + + testImplementation(libs.junit.jupiter.api) + testImplementation(libs.junit.jupiter.params) + testImplementation(libs.mockk) + testRuntimeOnly(libs.junit.jupiter.engine) + testRuntimeOnly(libs.log4j.core) +} diff --git a/achievements/editor/src/main/kotlin/by/jprof/telegram/bot/achievements/editor/EditorAchievementUpdateProcessor.kt b/achievements/editor/src/main/kotlin/by/jprof/telegram/bot/achievements/editor/EditorAchievementUpdateProcessor.kt new file mode 100644 index 00000000..10613dbe --- /dev/null +++ b/achievements/editor/src/main/kotlin/by/jprof/telegram/bot/achievements/editor/EditorAchievementUpdateProcessor.kt @@ -0,0 +1,30 @@ +package by.jprof.telegram.bot.achievements.editor + +import by.jprof.telegram.bot.core.UpdateProcessor +import dev.inmo.tgbotapi.bot.RequestsExecutor +import dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage +import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate +import dev.inmo.tgbotapi.types.update.abstracts.Update +import org.apache.logging.log4j.LogManager + +class EditorAchievementUpdateProcessor( + private val bot: RequestsExecutor, +) : UpdateProcessor { + companion object { + private val logger = LogManager.getLogger(EditorAchievementUpdateProcessor::class.java)!! + } + + override suspend fun process(update: Update) { + @Suppress("NAME_SHADOWING") + val update = (update as? BaseEditMessageUpdate) ?: return + val message = (update.data as? FromUserMessage) ?: return + + logger.debug("{} edited a message", message.user.id.chatId) + + // Typo hunter + // Editor + // GLVRD + // Золотое перо + // Перфекционист + } +} diff --git a/runners/lambda/build.gradle.kts b/runners/lambda/build.gradle.kts index 8767733b..49817995 100644 --- a/runners/lambda/build.gradle.kts +++ b/runners/lambda/build.gradle.kts @@ -13,4 +13,5 @@ dependencies { implementation(project.projects.jep) implementation(project.projects.youtube.dynamodb) implementation(project.projects.kotlin.dynamodb) + implementation(project.projects.achievements.editor) } diff --git a/runners/lambda/src/main/kotlin/by/jprof/telegram/bot/runners/lambda/config/pipeline.kt b/runners/lambda/src/main/kotlin/by/jprof/telegram/bot/runners/lambda/config/pipeline.kt index 2f839064..dc86cab2 100644 --- a/runners/lambda/src/main/kotlin/by/jprof/telegram/bot/runners/lambda/config/pipeline.kt +++ b/runners/lambda/src/main/kotlin/by/jprof/telegram/bot/runners/lambda/config/pipeline.kt @@ -1,5 +1,6 @@ package by.jprof.telegram.bot.runners.lambda.config +import by.jprof.telegram.bot.achievements.editor.EditorAchievementUpdateProcessor import by.jprof.telegram.bot.core.UpdateProcessingPipeline import by.jprof.telegram.bot.core.UpdateProcessor import by.jprof.telegram.bot.jep.JEPUpdateProcessor @@ -37,4 +38,10 @@ val pipelineModule = module { bot = get(), ) } + + single(named("EditorAchievementUpdateProcessor")) { + EditorAchievementUpdateProcessor( + bot = get(), + ) + } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 4d1ec3d6..1578ea81 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -13,6 +13,7 @@ include(":core") include(":jep") include(":youtube") include(":youtube:dynamodb") +include(":achievements:editor") include(":kotlin") include(":kotlin:dynamodb") include(":runners:lambda")