@@ -4,24 +4,26 @@ import by.jprof.telegram.bot.herald.model.Post
44import by.jprof.telegram.bot.votes.dynamodb.dao.VotesDAO
55import by.jprof.telegram.bot.votes.model.Votes
66import by.jprof.telegram.bot.votes.tgbotapi_extensions.toInlineKeyboardMarkup
7- import dev.inmo.tgbotapi.bot.Ktor.telegramBot
87import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
98import dev.inmo.tgbotapi.extensions.api.send.media.sendPhoto
109import dev.inmo.tgbotapi.extensions.api.send.sendMessage
10+ import dev.inmo.tgbotapi.extensions.api.telegramBot
1111import dev.inmo.tgbotapi.requests.abstracts.InputFile
1212import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
13- import dev.inmo.tgbotapi.types.ParseMode.MarkdownV2ParseMode
14- import dev.inmo.tgbotapi.types.chat.abstracts.UsernameChat
13+ import dev.inmo.tgbotapi.types.chat.UsernameChat
14+ import dev.inmo.tgbotapi.types.message.MarkdownV2
1515import dev.inmo.tgbotapi.types.toChatId
16- import dev.inmo.tgbotapi.utils.StorageFile
1716import dev.inmo.tgbotapi.utils.extensions.escapeMarkdownV2Common
18- import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider
19- import software.amazon.awssdk.regions.Region
20- import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient
17+ import io.ktor.utils.io.streams.asInput
2118import kotlin.io.path.Path
2219import kotlin.io.path.absolute
20+ import kotlin.io.path.inputStream
2321import kotlin.io.path.isRegularFile
22+ import kotlin.io.path.name
2423import kotlin.system.exitProcess
24+ import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider
25+ import software.amazon.awssdk.regions.Region
26+ import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient
2527
2628suspend fun send (post : Post ) {
2729 val image = post.image()
@@ -36,17 +38,18 @@ suspend fun send(post: Post) {
3638 chatId = chat.toChatId(),
3739 fileId = image,
3840 text = post.content.forChat(chat),
39- parseMode = MarkdownV2ParseMode ,
41+ parseMode = MarkdownV2 ,
4042 replyMarkup = votes?.toInlineKeyboardMarkup(),
4143 )
4244 }
45+
4346 else -> {
4447 println (" Sending text to $chat " )
4548
4649 bot.sendMessage(
4750 chatId = chat.toChatId(),
4851 text = post.content.forChat(chat),
49- parseMode = MarkdownV2ParseMode ,
52+ parseMode = MarkdownV2 ,
5053 replyMarkup = votes?.toInlineKeyboardMarkup(),
5154 disableWebPagePreview = post.frontmatter.disableWebPagePreview,
5255 )
@@ -77,7 +80,10 @@ private fun Post.image(): InputFile? {
7780 val imagePath = this .frontmatter.image?.let { cwd.resolve(it) }
7881
7982 return if (imagePath != null && imagePath.isRegularFile()) {
80- MultipartFile (StorageFile (imagePath.toFile()))
83+ MultipartFile (
84+ filename = imagePath.name,
85+ inputSource = { imagePath.inputStream().asInput() }
86+ )
8187 } else {
8288 null
8389 }
0 commit comments