mirror of
				https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
				synced 2025-10-30 19:50:16 +00:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 62a10b9042 | |||
| a7814c61b5 | |||
| 4eb27b42ad | |||
| 5367ff5629 | |||
| 50caa740cc | |||
| 6c85e977f1 | |||
| 156a8dd8be | |||
| 3728983653 | |||
| 8e99cb9e18 | |||
| 0f569ead82 | |||
| 71f6710397 | |||
| 243926cd17 | 
| @@ -21,9 +21,7 @@ val Koin.adminsPlugin: AdminsPlugin? | ||||
|     get() = getOrNull() | ||||
|  | ||||
| @Serializable | ||||
| class AdminsPlugin( | ||||
|     private val chatsSettings: Map<ChatId, AdminsCacheSettings>? = null | ||||
| ) : Plugin { | ||||
| class AdminsPlugin : Plugin { | ||||
|     @Transient | ||||
|     private val globalAdminsCacheAPI = MutableStateFlow<AdminsCacheAPI?>(null) | ||||
|     @Transient | ||||
| @@ -31,15 +29,10 @@ class AdminsPlugin( | ||||
|     private val mutex = Mutex() | ||||
|  | ||||
|     suspend fun adminsAPI(database: Database): AdminsCacheAPI { | ||||
|         return when (chatsSettings) { | ||||
|             null -> { | ||||
|                 val flow = mutex.withLock { | ||||
|                     databaseToAdminsCacheAPI.getOrPut(database){ MutableStateFlow(null) } | ||||
|                 } | ||||
|                 flow.first { it != null }!! | ||||
|             } | ||||
|             else -> globalAdminsCacheAPI.first { it != null }!! | ||||
|         val flow = mutex.withLock { | ||||
|             databaseToAdminsCacheAPI.getOrPut(database){ MutableStateFlow(null) } | ||||
|         } | ||||
|         return flow.filterNotNull().first() | ||||
|     } | ||||
|  | ||||
|     override fun Module.setupDI(database: Database, params: JsonObject) { | ||||
| @@ -48,17 +41,10 @@ class AdminsPlugin( | ||||
|  | ||||
|     override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) { | ||||
|         with(koin) { | ||||
|             when (chatsSettings) { | ||||
|                 null -> { | ||||
|                     mutex.withLock { | ||||
|                         val flow = databaseToAdminsCacheAPI.getOrPut(koin.get()){ MutableStateFlow(null) } | ||||
|                         if (flow.value == null) { | ||||
|                             flow.value = AdminsCacheAPI(koin.get()) | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 else -> mutex.withLock { | ||||
|                     globalAdminsCacheAPI.value = AdminsCacheAPI(koin.get()) | ||||
|             mutex.withLock { | ||||
|                 val flow = databaseToAdminsCacheAPI.getOrPut(koin.get()){ MutableStateFlow(null) } | ||||
|                 if (flow.value == null) { | ||||
|                     flow.value = AdminsCacheAPI(koin.get()) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -9,12 +9,12 @@ android.enableJetifier=true | ||||
| kotlin_version=1.6.21 | ||||
| kotlin_serialisation_core_version=1.3.3 | ||||
|  | ||||
| github_release_plugin_version=2.3.7 | ||||
| github_release_plugin_version=2.4.1 | ||||
|  | ||||
| tgbotapi_version=2.0.2 | ||||
| micro_utils_version=0.11.1 | ||||
| tgbotapi_version=2.2.1 | ||||
| micro_utils_version=0.11.13 | ||||
| exposed_version=0.38.2 | ||||
| plagubot_version=1.1.1 | ||||
| plagubot_version=1.4.0 | ||||
|  | ||||
| # ANDROID | ||||
|  | ||||
| @@ -33,5 +33,5 @@ dokka_version=1.6.21 | ||||
| # Project data | ||||
|  | ||||
| group=dev.inmo | ||||
| version=0.2.1 | ||||
| android_code_version=21 | ||||
| version=0.4.1 | ||||
| android_code_version=25 | ||||
|   | ||||
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
|   | ||||
		Reference in New Issue
	
	Block a user