From 0ebfb3c44a4e20cf6591e5319cddef290093544a Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Fri, 26 Aug 2022 16:35:36 +0600 Subject: [PATCH] small fixes --- HelloBot/src/main/kotlin/HelloBot.kt | 47 +++++++++++++++++++--------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/HelloBot/src/main/kotlin/HelloBot.kt b/HelloBot/src/main/kotlin/HelloBot.kt index 50515e1..f040c5f 100644 --- a/HelloBot/src/main/kotlin/HelloBot.kt +++ b/HelloBot/src/main/kotlin/HelloBot.kt @@ -3,8 +3,11 @@ import dev.inmo.tgbotapi.extensions.api.chat.get.getChat import dev.inmo.tgbotapi.extensions.api.send.* import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onContentMessage +import dev.inmo.tgbotapi.extensions.utils.extensions.raw.sender_chat import dev.inmo.tgbotapi.extensions.utils.formatting.linkMarkdownV2 import dev.inmo.tgbotapi.extensions.utils.formatting.textMentionMarkdownV2 +import dev.inmo.tgbotapi.extensions.utils.ifChannelChat +import dev.inmo.tgbotapi.extensions.utils.ifFromChannelGroupContentMessage import dev.inmo.tgbotapi.types.chat.* import dev.inmo.tgbotapi.types.chat.GroupChat import dev.inmo.tgbotapi.types.chat.PrivateChat @@ -24,21 +27,35 @@ suspend fun main(vararg args: String) { telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) { onContentMessage { message -> val chat = message.chat - if (chat is ChannelChat) { - val answer = "Hi everybody in this channel \"${chat.title}\"" - send(chat, answer, MarkdownV2) - return@onContentMessage - } - val answerText = "Oh, hi, " + when (chat) { - is User -> "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id) - is PrivateChat -> "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id) - is SupergroupChat -> (chat.username ?.username ?: getChat(chat).inviteLink) ?.let { - chat.title.linkMarkdownV2(it) - } ?: chat.title - is GroupChat -> bot.getChat(chat).inviteLink ?.let { - chat.title.linkMarkdownV2(it) - } ?: chat.title - else -> "Unknown :(".escapeMarkdownV2Common() + + val answerText = when (val chat = message.chat) { + is ChannelChat -> { + val answer = "Hi everybody in this channel \"${chat.title}\"" + reply(message, answer, MarkdownV2) + return@onContentMessage + } + is PrivateChat -> { + reply(message, "Hi, " + "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id), MarkdownV2) + return@onContentMessage + } + is GroupChat -> { + message.ifFromChannelGroupContentMessage { + val answer = "Hi, ${it.senderChat.title}" + reply(message, answer, MarkdownV2) + return@onContentMessage + } + "Oh, hi, " + when (chat) { + is SupergroupChat -> (chat.username ?.username ?: getChat(chat).inviteLink) ?.let { + chat.title.linkMarkdownV2(it) + } ?: chat.title + else -> bot.getChat(chat).inviteLink ?.let { + chat.title.linkMarkdownV2(it) + } ?: chat.title + } + } + is UnknownExtendedChat, + is UnknownChatType -> "Unknown :(".escapeMarkdownV2Common() + else -> error("Something went wrong: unknown type of chat $chat") } reply( message,