diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessages.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessages.kt new file mode 100644 index 0000000000..4e68eaa0ca --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessages.kt @@ -0,0 +1,20 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.micro_utils.ksp.variations.GenerateVariations +import dev.inmo.micro_utils.ksp.variations.GenerationVariant +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.DeleteBusinessMessages +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.ChatId +import dev.inmo.tgbotapi.types.MessageId +import dev.inmo.tgbotapi.types.chat.Chat +import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage + +@GenerateVariations +public suspend fun TelegramBot.deleteBusinessMessages( + businessConnectionId: BusinessConnectionId, + @GenerationVariant(List::class, "messages.map { it.messageId }", "messages", AccessibleMessage::class) + messageIds: List +): Boolean = execute( + DeleteBusinessMessages(businessConnectionId, messageIds) +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessagesGeneratedVariation.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessagesGeneratedVariation.kt new file mode 100644 index 0000000000..3afc52db65 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/DeleteBusinessMessagesGeneratedVariation.kt @@ -0,0 +1,16 @@ +// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY +// TO REGENERATE IT JUST DELETE FILE +// ORIGINAL FILE: DeleteBusinessMessages.kt +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import kotlin.Boolean +import kotlin.collections.List + +public suspend fun TelegramBot.deleteBusinessMessages(businessConnectionId: BusinessConnectionId, + messages: List): Boolean = deleteBusinessMessages( + businessConnectionId = businessConnectionId, messageIds = with(messages) {messages.map { + it.messageId }} +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/GetBusinessAccountStarBalance.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/GetBusinessAccountStarBalance.kt new file mode 100644 index 0000000000..48e26bc641 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/GetBusinessAccountStarBalance.kt @@ -0,0 +1,12 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.GetBusinessAccountStarBalance +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.payments.stars.StarAmount + +public suspend fun TelegramBot.getBusinessAccountStarBalance( + businessConnectionId: BusinessConnectionId +): StarAmount = execute( + GetBusinessAccountStarBalance(businessConnectionId) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessage.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessage.kt new file mode 100644 index 0000000000..4ef29107f1 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessage.kt @@ -0,0 +1,27 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.micro_utils.ksp.variations.GenerateVariations +import dev.inmo.micro_utils.ksp.variations.GenerationVariant +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.ReadBusinessMessage +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.ChatId +import dev.inmo.tgbotapi.types.MessageId +import dev.inmo.tgbotapi.types.chat.Chat +import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import dev.inmo.tgbotapi.types.toChatId + +@GenerateVariations +public suspend fun TelegramBot.readBusinessMessage( + businessConnectionId: BusinessConnectionId, + @GenerationVariant(Chat::class, "chat.id.toChatId()", "chat") + chatId: ChatId, + messageId: MessageId +): Boolean = execute( + ReadBusinessMessage(businessConnectionId, chatId, messageId) +) + +public suspend fun TelegramBot.readBusinessMessage( + businessConnectionId: BusinessConnectionId, + message: AccessibleMessage +): Boolean = readBusinessMessage(businessConnectionId, message.chat.id.toChatId(), message.messageId) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessageGeneratedVariation.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessageGeneratedVariation.kt new file mode 100644 index 0000000000..bb09bbb6eb --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/ReadBusinessMessageGeneratedVariation.kt @@ -0,0 +1,20 @@ +// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY +// TO REGENERATE IT JUST DELETE FILE +// ORIGINAL FILE: ReadBusinessMessage.kt +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.types.MessageId +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.chat.Chat +import dev.inmo.tgbotapi.types.toChatId +import kotlin.Boolean + +public suspend fun TelegramBot.readBusinessMessage( + businessConnectionId: BusinessConnectionId, + chat: Chat, + messageId: MessageId, +): Boolean = readBusinessMessage( + businessConnectionId = businessConnectionId, chatId = with(chat) {chat.id.toChatId()}, messageId + = messageId +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/RemoveBusinessAccountProfilePhoto.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/RemoveBusinessAccountProfilePhoto.kt new file mode 100644 index 0000000000..3f52210269 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/RemoveBusinessAccountProfilePhoto.kt @@ -0,0 +1,11 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.RemoveBusinessAccountProfilePhoto +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId + +public suspend fun TelegramBot.removeBusinessAccountProfilePhoto( + businessConnectionId: BusinessConnectionId +): Boolean = execute( + RemoveBusinessAccountProfilePhoto(businessConnectionId) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountBio.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountBio.kt new file mode 100644 index 0000000000..bc6805a8c4 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountBio.kt @@ -0,0 +1,12 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountBio +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId + +public suspend fun TelegramBot.setBusinessAccountBio( + businessConnectionId: BusinessConnectionId, + bio: String +): Boolean = execute( + SetBusinessAccountBio(businessConnectionId, bio) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountName.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountName.kt new file mode 100644 index 0000000000..f309411509 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountName.kt @@ -0,0 +1,13 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountName +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId + +public suspend fun TelegramBot.setBusinessAccountName( + businessConnectionId: BusinessConnectionId, + firstName: String, + lastName: String? = null +): Boolean = execute( + SetBusinessAccountName(businessConnectionId, firstName, lastName) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountProfilePhoto.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountProfilePhoto.kt new file mode 100644 index 0000000000..0861700062 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountProfilePhoto.kt @@ -0,0 +1,14 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto +import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountProfilePhoto +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId + +public suspend fun TelegramBot.setBusinessAccountProfilePhoto( + businessConnectionId: BusinessConnectionId, + photo: InputProfilePhoto, + isPublic: Boolean = false +): Boolean = execute( + SetBusinessAccountProfilePhoto(businessConnectionId, photo, isPublic) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsername.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsername.kt new file mode 100644 index 0000000000..3d6d7fb499 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsername.kt @@ -0,0 +1,17 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.micro_utils.ksp.variations.GenerateVariations +import dev.inmo.micro_utils.ksp.variations.GenerationVariant +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountUsername +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.Username + +@GenerateVariations +public suspend fun TelegramBot.setBusinessAccountUsername( + businessConnectionId: BusinessConnectionId, + @GenerationVariant(String::class, "Username(username)", "username") + username: Username +): Boolean = execute( + SetBusinessAccountUsername(businessConnectionId, username) +) \ No newline at end of file diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsernameGeneratedVariation.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsernameGeneratedVariation.kt new file mode 100644 index 0000000000..9b7672edb6 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/SetBusinessAccountUsernameGeneratedVariation.kt @@ -0,0 +1,16 @@ +// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY +// TO REGENERATE IT JUST DELETE FILE +// ORIGINAL FILE: SetBusinessAccountUsername.kt +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.types.Username +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import kotlin.Boolean +import kotlin.String + +public suspend + fun TelegramBot.setBusinessAccountUsername(businessConnectionId: BusinessConnectionId, + username: String): Boolean = setBusinessAccountUsername( + businessConnectionId = businessConnectionId, username = with(username) { Username(username) } +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt new file mode 100644 index 0000000000..2f6a3f29a2 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/business/TransferBusinessAccountStarBalance.kt @@ -0,0 +1,13 @@ +package dev.inmo.tgbotapi.extensions.api.business + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.business_connection.TransferBusinessAccountStarBalance +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.payments.stars.StarAmount + +public suspend fun TelegramBot.transferBusinessAccountStarBalance( + businessConnectionId: BusinessConnectionId, + amount: Int +): Boolean = execute( + TransferBusinessAccountStarBalance(businessConnectionId, amount) +) \ No newline at end of file diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName.kt index 26a97883fa..9fdcf02843 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/business_connection/SetBusinessAccountName.kt @@ -25,7 +25,7 @@ data class SetBusinessAccountName( @SerialName(firstNameField) val firstName: String, @SerialName(lastNameField) - val lastName: String + val lastName: String? = null ) : BusinessRequest.Simple { override fun method(): String = "setBusinessAccountName"