small fixes

This commit is contained in:
InsanusMokrassar 2022-08-26 16:35:36 +06:00
parent 9fa3690db6
commit 0ebfb3c44a
1 changed files with 32 additions and 15 deletions

View File

@ -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.api.send.*
import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onContentMessage 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.linkMarkdownV2
import dev.inmo.tgbotapi.extensions.utils.formatting.textMentionMarkdownV2 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.*
import dev.inmo.tgbotapi.types.chat.GroupChat import dev.inmo.tgbotapi.types.chat.GroupChat
import dev.inmo.tgbotapi.types.chat.PrivateChat import dev.inmo.tgbotapi.types.chat.PrivateChat
@ -24,21 +27,35 @@ suspend fun main(vararg args: String) {
telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) { telegramBotWithBehaviourAndLongPolling(botToken, CoroutineScope(Dispatchers.IO)) {
onContentMessage { message -> onContentMessage { message ->
val chat = message.chat val chat = message.chat
if (chat is ChannelChat) {
val answer = "Hi everybody in this channel \"${chat.title}\"" val answerText = when (val chat = message.chat) {
send(chat, answer, MarkdownV2) is ChannelChat -> {
return@onContentMessage val answer = "Hi everybody in this channel \"${chat.title}\""
} reply(message, answer, MarkdownV2)
val answerText = "Oh, hi, " + when (chat) { return@onContentMessage
is User -> "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id) }
is PrivateChat -> "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id) is PrivateChat -> {
is SupergroupChat -> (chat.username ?.username ?: getChat(chat).inviteLink) ?.let { reply(message, "Hi, " + "${chat.firstName} ${chat.lastName}".textMentionMarkdownV2(chat.id), MarkdownV2)
chat.title.linkMarkdownV2(it) return@onContentMessage
} ?: chat.title }
is GroupChat -> bot.getChat(chat).inviteLink ?.let { is GroupChat -> {
chat.title.linkMarkdownV2(it) message.ifFromChannelGroupContentMessage {
} ?: chat.title val answer = "Hi, ${it.senderChat.title}"
else -> "Unknown :(".escapeMarkdownV2Common() 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( reply(
message, message,