mirror of
				https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
				synced 2025-10-31 12:10:15 +00:00 
			
		
		
		
	Compare commits
	
		
			29 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 50c1e33b52 | |||
| 41b9001e1f | |||
| 2c44a4e580 | |||
| ffa9525c70 | |||
| 4f2df31e5e | |||
| 18f9318b63 | |||
| c97a48dcd4 | |||
| caaba32f9a | |||
| 2734fc0adc | |||
| 9c2e271d57 | |||
| 3edb5b1b11 | |||
| 82d859272f | |||
| 64952fb054 | |||
| bd4e3d2380 | |||
| d77e08631c | |||
| 90e063a47a | |||
| a988117037 | |||
| 50d8511db5 | |||
| cf5b02057d | |||
| 64305c9393 | |||
| b4107cff26 | |||
| 23d68c9aa5 | |||
| 735e23cadb | |||
| 59b32f9b9a | |||
| b8601d4c90 | |||
| 240ee3de6f | |||
| 300ff6514b | |||
| ce85622876 | |||
| bd9e6045a3 | 
| @@ -1,6 +1,6 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.admins | package dev.inmo.tgbotapi.libraries.cache.admins | ||||||
|  |  | ||||||
| import com.soywiz.klock.minutes | import korlibs.time.minutes | ||||||
| import dev.inmo.tgbotapi.types.IdChatIdentifier | import dev.inmo.tgbotapi.types.IdChatIdentifier | ||||||
| import dev.inmo.tgbotapi.types.Seconds | import dev.inmo.tgbotapi.types.Seconds | ||||||
| import kotlinx.coroutines.flow.SharedFlow | import kotlinx.coroutines.flow.SharedFlow | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.admins | package dev.inmo.tgbotapi.libraries.cache.admins | ||||||
|  |  | ||||||
| import com.soywiz.klock.DateTime | import korlibs.time.DateTime | ||||||
| import dev.inmo.tgbotapi.bot.TelegramBot | import dev.inmo.tgbotapi.bot.TelegramBot | ||||||
| import dev.inmo.tgbotapi.extensions.api.bot.getMe | import dev.inmo.tgbotapi.extensions.api.bot.getMe | ||||||
| import dev.inmo.tgbotapi.extensions.api.chat.members.getChatMember | import dev.inmo.tgbotapi.extensions.api.chat.members.getChatMember | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.admins.micro_utils | package dev.inmo.tgbotapi.libraries.cache.admins.micro_utils | ||||||
|  |  | ||||||
| import com.soywiz.klock.DateTime | import korlibs.time.DateTime | ||||||
| import dev.inmo.micro_utils.coroutines.* | import dev.inmo.micro_utils.coroutines.* | ||||||
| import dev.inmo.micro_utils.repos.* | import dev.inmo.micro_utils.repos.* | ||||||
| import dev.inmo.tgbotapi.libraries.cache.admins.DefaultAdminsCacheAPIRepo | import dev.inmo.tgbotapi.libraries.cache.admins.DefaultAdminsCacheAPIRepo | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| package dev.inmo.tgbotapi.libraries.cache.media.common | package dev.inmo.tgbotapi.libraries.cache.media.common | ||||||
|  |  | ||||||
| import com.soywiz.klock.DateTime | import korlibs.time.DateTime | ||||||
| import com.soywiz.klock.milliseconds | import korlibs.time.milliseconds | ||||||
| import dev.inmo.tgbotapi.bot.TelegramBot | import dev.inmo.tgbotapi.bot.TelegramBot | ||||||
| import dev.inmo.tgbotapi.requests.DeleteMessage | import dev.inmo.tgbotapi.requests.DeleteMessage | ||||||
| import dev.inmo.tgbotapi.requests.abstracts.FileId | import dev.inmo.tgbotapi.requests.abstracts.FileId | ||||||
|   | |||||||
| @@ -6,21 +6,21 @@ kotlin.incremental=true | |||||||
| kotlin.incremental.js=true | kotlin.incremental.js=true | ||||||
|  |  | ||||||
|  |  | ||||||
| kotlin_version=1.8.10 | kotlin_version=1.8.22 | ||||||
| kotlin_serialisation_core_version=1.5.0 | kotlin_serialisation_core_version=1.5.1 | ||||||
|  |  | ||||||
| github_release_plugin_version=2.4.1 | github_release_plugin_version=2.4.1 | ||||||
|  |  | ||||||
| tgbotapi_version=7.0.1 | tgbotapi_version=9.2.1 | ||||||
| micro_utils_version=0.17.5 | micro_utils_version=0.19.9 | ||||||
| exposed_version=0.41.1 | exposed_version=0.41.1 | ||||||
| plagubot_version=5.0.1 | plagubot_version=7.2.1 | ||||||
|  |  | ||||||
| # Dokka | # Dokka | ||||||
|  |  | ||||||
| dokka_version=1.8.10 | dokka_version=1.8.20 | ||||||
|  |  | ||||||
| # Project data | # Project data | ||||||
|  |  | ||||||
| group=dev.inmo | group=dev.inmo | ||||||
| version=0.10.1 | version=0.15.1 | ||||||
|   | |||||||
							
								
								
									
										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-7.6-bin.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
| zipStorePath=wrapper/dists | zipStorePath=wrapper/dists | ||||||
|   | |||||||
| @@ -16,7 +16,8 @@ class MessagesResender( | |||||||
| ) { | ) { | ||||||
|     suspend fun resend( |     suspend fun resend( | ||||||
|         targetChatId: IdChatIdentifier, |         targetChatId: IdChatIdentifier, | ||||||
|         messagesInfo: List<MessageMetaInfo> |         messagesInfo: List<MessageMetaInfo>, | ||||||
|  |         onBetweenMessages: suspend (sent: List<MessageMetaInfo>, toBeSent: List<MessageMetaInfo>) -> Unit | ||||||
|     ): List<Pair<MessageMetaInfo, MessageMetaInfo>> { |     ): List<Pair<MessageMetaInfo, MessageMetaInfo>> { | ||||||
|         val messagesWithOrders = messagesInfo.mapIndexed { i, messageInfo -> messageInfo to i }.toMap() |         val messagesWithOrders = messagesInfo.mapIndexed { i, messageInfo -> messageInfo to i }.toMap() | ||||||
|         val ordersWithMessagesGroups = messagesInfo.groupBy { it.group }.flatMap { (group, list) -> |         val ordersWithMessagesGroups = messagesInfo.groupBy { it.group }.flatMap { (group, list) -> | ||||||
| @@ -29,9 +30,14 @@ class MessagesResender( | |||||||
|             } |             } | ||||||
|         }.sortedBy { it.first } |         }.sortedBy { it.first } | ||||||
|  |  | ||||||
|  |         val sent = mutableListOf<MessageMetaInfo>() | ||||||
|  |         val leftToSend = ordersWithMessagesGroups.map { it.second }.toMutableList() | ||||||
|  |  | ||||||
|         return ordersWithMessagesGroups.flatMap { (_, contents) -> |         return ordersWithMessagesGroups.flatMap { (_, contents) -> | ||||||
|             val sourceMessagesToSentMessages = mutableListOf<Pair<MessageMetaInfo, MessageMetaInfo>>() |             val sourceMessagesToSentMessages = mutableListOf<Pair<MessageMetaInfo, MessageMetaInfo>>() | ||||||
|  |  | ||||||
|  |             onBetweenMessages(sent.toList(), leftToSend.flatten()) | ||||||
|  |  | ||||||
|             when { |             when { | ||||||
|                 contents.size == 1 -> { |                 contents.size == 1 -> { | ||||||
|                     val messageInfo = contents.first() |                     val messageInfo = contents.first() | ||||||
| @@ -137,8 +143,15 @@ class MessagesResender( | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             leftToSend.takeIf { it.isNotEmpty() } ?.removeAt(0) ?.also { | ||||||
|  |                 sent.addAll(it) | ||||||
|  |             } | ||||||
|             sourceMessagesToSentMessages.toList() |             sourceMessagesToSentMessages.toList() | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     suspend fun resend( | ||||||
|  |         targetChatId: IdChatIdentifier, | ||||||
|  |         messagesInfo: List<MessageMetaInfo> | ||||||
|  |     ): List<Pair<MessageMetaInfo, MessageMetaInfo>> = resend(targetChatId, messagesInfo) { _, _ -> } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user