mirror of
				https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
				synced 2025-10-30 19:50:16 +00:00 
			
		
		
		
	Compare commits
	
		
			8 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| bbe9367ef3 | |||
| 6403fe6f5d | |||
| 3cad9ec337 | |||
| 78e5da9db7 | |||
| 74329a8eb2 | |||
| 953df71d9e | |||
| c25f6d522f | |||
| d569f46e48 | 
| @@ -1,11 +1,15 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.media.common | package dev.inmo.tgbotapi.libraries.cache.media.common | ||||||
|  |  | ||||||
| import dev.inmo.tgbotapi.bot.TelegramBot | import dev.inmo.tgbotapi.bot.TelegramBot | ||||||
|  | import dev.inmo.tgbotapi.requests.DeleteMessage | ||||||
| import dev.inmo.tgbotapi.requests.DownloadFileStream | import dev.inmo.tgbotapi.requests.DownloadFileStream | ||||||
|  | import dev.inmo.tgbotapi.requests.abstracts.MultipartFile | ||||||
| import dev.inmo.tgbotapi.requests.get.GetFile | import dev.inmo.tgbotapi.requests.get.GetFile | ||||||
| import dev.inmo.tgbotapi.requests.send.media.* | import dev.inmo.tgbotapi.requests.send.media.* | ||||||
| import dev.inmo.tgbotapi.types.IdChatIdentifier | import dev.inmo.tgbotapi.types.IdChatIdentifier | ||||||
| import dev.inmo.tgbotapi.types.media.* | import dev.inmo.tgbotapi.types.media.* | ||||||
|  | import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage | ||||||
|  | import dev.inmo.tgbotapi.types.message.content.DocumentContent | ||||||
| import dev.inmo.tgbotapi.types.message.content.MediaContent | import dev.inmo.tgbotapi.types.message.content.MediaContent | ||||||
| import dev.inmo.tgbotapi.types.message.content.MessageContent | import dev.inmo.tgbotapi.types.message.content.MessageContent | ||||||
| import dev.inmo.tgbotapi.utils.asInput | import dev.inmo.tgbotapi.utils.asInput | ||||||
| @@ -58,6 +62,30 @@ class DefaultMessageContentCache<K>( | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     override suspend fun sendAndSave( | ||||||
|  |         k: K, | ||||||
|  |         filename: String, | ||||||
|  |         inputAllocator: () -> Input | ||||||
|  |     ): DocumentContent { | ||||||
|  |         val sentDocument = bot.execute( | ||||||
|  |             SendDocument( | ||||||
|  |                 filesRefreshingChatId, | ||||||
|  |                 MultipartFile(filename, inputAllocator), | ||||||
|  |             ) | ||||||
|  |         ) | ||||||
|  |         save(k, sentDocument.content, filename, inputAllocator) | ||||||
|  |         runCatching { | ||||||
|  |             bot.execute( | ||||||
|  |                 DeleteMessage( | ||||||
|  |                     sentDocument.chat.id, | ||||||
|  |                     sentDocument.messageId | ||||||
|  |                 ) | ||||||
|  |             ) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return sentDocument.content | ||||||
|  |     } | ||||||
|  |  | ||||||
|     override suspend fun get(k: K): MessageContent? { |     override suspend fun get(k: K): MessageContent? { | ||||||
|         val savedSimpleContent = simpleMessageContentCache.get(k) ?: return null |         val savedSimpleContent = simpleMessageContentCache.get(k) ?: return null | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,7 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.media.common | package dev.inmo.tgbotapi.libraries.cache.media.common | ||||||
|  |  | ||||||
|  | import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage | ||||||
|  | import dev.inmo.tgbotapi.types.message.content.DocumentContent | ||||||
| import dev.inmo.tgbotapi.types.message.content.MediaContent | import dev.inmo.tgbotapi.types.message.content.MediaContent | ||||||
| import dev.inmo.tgbotapi.types.message.content.MessageContent | import dev.inmo.tgbotapi.types.message.content.MessageContent | ||||||
| import io.ktor.utils.io.core.Input | import io.ktor.utils.io.core.Input | ||||||
| @@ -12,6 +14,11 @@ interface MessageContentCache<K> { | |||||||
|         filename: String, |         filename: String, | ||||||
|         inputAllocator: suspend () -> Input |         inputAllocator: suspend () -> Input | ||||||
|     ) |     ) | ||||||
|  |     suspend fun sendAndSave( | ||||||
|  |         k: K, | ||||||
|  |         filename: String, | ||||||
|  |         inputAllocator: () -> Input | ||||||
|  |     ): DocumentContent | ||||||
|  |  | ||||||
|     suspend fun get(k: K): MessageContent? |     suspend fun get(k: K): MessageContent? | ||||||
|     suspend fun contains(k: K): Boolean |     suspend fun contains(k: K): Boolean | ||||||
|   | |||||||
| @@ -6,15 +6,15 @@ kotlin.incremental=true | |||||||
| kotlin.incremental.js=true | kotlin.incremental.js=true | ||||||
|  |  | ||||||
|  |  | ||||||
| kotlin_version=2.1.10 | kotlin_version=2.1.20 | ||||||
| kotlin_serialisation_core_version=1.8.0 | kotlin_serialisation_core_version=1.8.1 | ||||||
|  |  | ||||||
| github_release_plugin_version=2.5.2 | github_release_plugin_version=2.5.2 | ||||||
|  |  | ||||||
| tgbotapi_version=23.2.0 | tgbotapi_version=24.0.2 | ||||||
| micro_utils_version=0.24.6 | micro_utils_version=0.25.5 | ||||||
| exposed_version=0.59.0 | exposed_version=0.61.0 | ||||||
| plagubot_version=10.4.0 | plagubot_version=10.5.0 | ||||||
|  |  | ||||||
| # Dokka | # Dokka | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ dokka_version=2.0.0 | |||||||
| # Project data | # Project data | ||||||
|  |  | ||||||
| group=dev.inmo | group=dev.inmo | ||||||
| version=0.26.3 | version=0.26.5 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| distributionBase=GRADLE_USER_HOME | distributionBase=GRADLE_USER_HOME | ||||||
| distributionPath=wrapper/dists | distributionPath=wrapper/dists | ||||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
| zipStorePath=wrapper/dists | zipStorePath=wrapper/dists | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user