diff --git a/CHANGELOG.md b/CHANGELOG.md index 747aa60508..c710e3abd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * `Versions`: * `Serialization`: `1.5.0` -> `1.5.1` * `MicroUtils`: `0.18.1` -> `0.18.4` +* `Core`: + * Actualize kdocs in `InputFile` * `BehaviourBuilder`: * Now it is possible to use `waitMediaContent`/`waitMediaContentMessage`/`onMediaContent` * Add `onMention`/`waitMention` functionality diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt index 67b126c235..8aeebbfd18 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt @@ -21,6 +21,11 @@ import kotlinx.serialization.encoding.Encoder * @see ByteArray.asMultipartFile * @see ByteReadChannel.asMultipartFile * @see ByteReadChannelAllocator.asMultipartFile + * + * @see fromInput + * @see fromFile + * @see fromId + * @see fromUrl */ @Serializable(InputFileSerializer::class) sealed class InputFile { @@ -29,9 +34,24 @@ sealed class InputFile { companion object { operator fun invoke(file: MPPFile) = file.asMultipartFile() + /** + * Creates [MultipartFile] based on incoming [filename] and [inputSource] + */ fun fromInput(filename: String, inputSource: () -> Input) = MultipartFile(filename, inputSource) + + /** + * Creates [MultipartFile] based on incoming [MPPFile] (common File in java, for example) + */ fun fromFile(file: MPPFile) = invoke(file) + + /** + * Creates [FileId] from the incomming [id] [String] with believe that it is [FileId] + */ fun fromId(id: String) = FileId(id) + + /** + * Creates [FileUrl] from the incomming [url] [String] + */ fun fromUrl(url: String) = FileUrl(url) } }