1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-17 23:35:27 +00:00
tgbotapi/tgbotapi.extensions.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/passport/SetPassportDataErrors.kt

46 lines
1.7 KiB
Kotlin
Raw Normal View History

2021-01-25 04:43:51 +00:00
package dev.inmo.tgbotapi.extensions.api.passport
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.SetPassportDataErrors
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.message.PassportMessage
import dev.inmo.tgbotapi.types.passport.PassportData
import dev.inmo.tgbotapi.types.passport.PassportElementError
import dev.inmo.tgbotapi.types.passport.encrypted_data.abstracts.EncryptedPassportElement
import dev.inmo.tgbotapi.utils.passport.Decryptor
suspend fun TelegramBot.setPassportDataErrors(
userId: UserId,
errors: List<PassportElementError>
) = execute(SetPassportDataErrors(userId, errors))
suspend fun TelegramBot.setPassportDataErrors(
user: User,
errors: List<PassportElementError>
) = setPassportDataErrors(user.id, errors)
suspend fun TelegramBot.setPassportDataErrors(
userId: UserId,
passportData: PassportData,
decryptor: Decryptor,
mapper: suspend Decryptor.(EncryptedPassportElement) -> PassportElementError
): Boolean = setPassportDataErrors(
userId,
passportData.data.map { decryptor.mapper(it) }.also {
if (it.isEmpty()) {
return@setPassportDataErrors false
}
}
)
suspend fun TelegramBot.setPassportDataErrors(
user: User,
passportData: PassportData,
decryptor: Decryptor,
mapper: suspend Decryptor.(EncryptedPassportElement) -> PassportElementError
) = setPassportDataErrors(user.id, passportData, decryptor, mapper)
suspend fun TelegramBot.setPassportDataErrors(
passportMessage: PassportMessage,
decryptor: Decryptor,
mapper: suspend Decryptor.(EncryptedPassportElement) -> PassportElementError
) = setPassportDataErrors(passportMessage.user, passportMessage.passportData, decryptor, mapper)