From 523eb5af98b7a4caabb6d226985951527eb57983 Mon Sep 17 00:00:00 2001 From: madhead Date: Fri, 18 Jun 2021 02:00:52 +0200 Subject: [PATCH 1/2] Stub for "Editor" achievment processor --- achievements/editor/build.gradle.kts | 15 ++++++++++++ .../EditorAchievementUpdateProcessor.kt | 24 +++++++++++++++++++ runners/lambda/build.gradle.kts | 1 + .../bot/runners/lambda/config/pipeline.kt | 7 ++++++ settings.gradle.kts | 1 + 5 files changed, 48 insertions(+) create mode 100644 achievements/editor/build.gradle.kts create mode 100644 achievements/editor/src/main/kotlin/by/jprof/telegram/bot/achievements/editor/EditorAchievementUpdateProcessor.kt 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..eee9efad --- /dev/null +++ b/achievements/editor/src/main/kotlin/by/jprof/telegram/bot/achievements/editor/EditorAchievementUpdateProcessor.kt @@ -0,0 +1,24 @@ +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) + } +} 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") From 34b80797221861711f655e7d746ef49d7c2bf890 Mon Sep 17 00:00:00 2001 From: madhead Date: Sat, 9 Oct 2021 16:52:07 +0200 Subject: [PATCH 2/2] WIP --- .../achievements/editor/EditorAchievementUpdateProcessor.kt | 6 ++++++ 1 file changed, 6 insertions(+) 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 index eee9efad..10613dbe 100644 --- 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 @@ -20,5 +20,11 @@ class EditorAchievementUpdateProcessor( val message = (update.data as? FromUserMessage) ?: return logger.debug("{} edited a message", message.user.id.chatId) + + // Typo hunter + // Editor + // GLVRD + // Золотое перо + // Перфекционист } }