From c6dad9105e89ed1eeeb7b7d33b6735f7deb954f5 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 11 Jul 2022 01:33:53 +0600 Subject: [PATCH] small refactor of welcome plugin --- welcome/src/main/kotlin/WelcomePlugin.kt | 72 +++++++++++------------- 1 file changed, 32 insertions(+), 40 deletions(-) diff --git a/welcome/src/main/kotlin/WelcomePlugin.kt b/welcome/src/main/kotlin/WelcomePlugin.kt index 2bd617a..a3a36c3 100644 --- a/welcome/src/main/kotlin/WelcomePlugin.kt +++ b/welcome/src/main/kotlin/WelcomePlugin.kt @@ -10,10 +10,9 @@ import dev.inmo.tgbotapi.extensions.api.answers.answer import dev.inmo.tgbotapi.extensions.api.chat.get.getChatAdministrators import dev.inmo.tgbotapi.extensions.api.edit.edit import dev.inmo.tgbotapi.extensions.api.send.* -import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext +import dev.inmo.tgbotapi.extensions.behaviour_builder.* import dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitContentMessage import dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitMessageDataCallbackQuery -import dev.inmo.tgbotapi.extensions.behaviour_builder.oneOf import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.* import dev.inmo.tgbotapi.extensions.utils.* import dev.inmo.tgbotapi.extensions.utils.formatting.* @@ -93,34 +92,31 @@ class WelcomePlugin : Plugin { ) oneOf( - async { + parallel { val query = waitMessageDataCallbackQuery().filter { it.data == unsetData && it.message.chat.id == sentMessage.chat.id && it.message.messageId == sentMessage.messageId }.first() - if (welcomeTable.unset(groupMessage.chat.id)) { - edit( - sentMessage, - buildEntities { - regular("Welcome message has been removed for chat ") - underline(groupMessage.chat.title) - } - ) - } else { - edit( - sentMessage, - buildEntities { - regular("Something went wrong on welcome message unsetting for chat ") - underline(groupMessage.chat.title) - } - ) + val answerEntities = buildEntities { + if (welcomeTable.unset(groupMessage.chat.id)) { + regular("Welcome message has been removed for chat ") + underline(groupMessage.chat.title) + } else { + regular("Something went wrong on welcome message unsetting for chat ") + underline(groupMessage.chat.title) + } } + edit( + sentMessage, + answerEntities + ) + answer(query) }, - async { + parallel { val query = waitMessageDataCallbackQuery().filter { it.data == cancelData && it.message.chat.id == sentMessage.chat.id @@ -137,7 +133,7 @@ class WelcomePlugin : Plugin { answer(query) }, - async { + parallel { val message = waitContentMessage().filter { it.chat.id == sentMessage.chat.id }.first() @@ -150,27 +146,23 @@ class WelcomePlugin : Plugin { ) ) - if (success) { - reply( - message, - buildEntities { - regular("Welcome message has been changed for chat ") - underline(groupMessage.chat.title) - regular(".\n\n") - bold("Please, do not delete this message if you want it to work and don't stop this bot to keep welcome message works right") - } - ) - } else { - reply( - message, - buildEntities { - regular("Something went wrong on welcome message changing for chat ") - underline(groupMessage.chat.title) - } - ) + val entities = buildEntities { + if (success) { + regular("Welcome message has been changed for chat ") + underline(groupMessage.chat.title) + regular(".\n\n") + bold("Please, do not delete this message if you want it to work and don't stop this bot to keep welcome message works right") + } else { + regular("Something went wrong on welcome message changing for chat ") + underline(groupMessage.chat.title) + } } + reply( + message, + entities + ) }, - async { + parallel { while (isActive) { delay(config.recheckOfAdmin)