Compare commits

...

9 Commits
0.0.3 ... 0.0.7

Author SHA1 Message Date
e0cf102ec8 Update gradle.properties 2021-05-01 13:58:47 +06:00
3dc2515e57 Update gradle.properties 2021-05-01 13:57:40 +06:00
ee21a44270 start 0.0.7 2021-05-01 13:56:41 +06:00
eee918cd9f Update gradle.properties 2021-04-25 15:41:40 +06:00
459d4dc5e2 0.0.5 2021-04-18 17:22:48 +06:00
b974d4dfdc Merge pull request #2 from InsanusMokrassar/0.0.4
0.0.4
2021-04-05 21:56:34 +06:00
79e1112c77 0.0.4 2021-04-05 21:25:15 +06:00
b76a574929 add method to AdminsCacheAPI 2021-03-30 22:36:19 +06:00
06d5cb904b Merge pull request #1 from InsanusMokrassar/0.0.3
0.0.3
2021-03-30 20:35:06 +06:00
3 changed files with 25 additions and 6 deletions

View File

@@ -1,13 +1,20 @@
package dev.inmo.tgbotapi.libraries.cache.admins
import dev.inmo.tgbotapi.extensions.utils.asGroupContentMessage
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.ChatMember.abstracts.AdministratorChatMember
import dev.inmo.tgbotapi.types.message.abstracts.GroupContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.Message
interface AdminsCacheAPI {
suspend fun getChatAdmins(chatId: ChatId): List<AdministratorChatMember>?
suspend fun isAdmin(chatId: ChatId, userId: UserId): Boolean = getChatAdmins(chatId) ?.any {
it.user.id == userId
} == true
suspend fun sentByAdmin(groupContentMessage: GroupContentMessage<*>): Boolean
suspend fun sentByAdmin(message: Message): Boolean? {
return sentByAdmin(message.asGroupContentMessage() ?: return null)
}
suspend fun settings(): AdminsCacheSettingsAPI
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.extensions.api.bot.getMe
import dev.inmo.tgbotapi.extensions.api.chat.get.getChatAdministrators
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.ChatMember.abstracts.AdministratorChatMember
import dev.inmo.tgbotapi.types.message.abstracts.*
import kotlinx.serialization.Serializable
interface DefaultAdminsCacheAPIRepo {
@@ -49,6 +50,17 @@ class DefaultAdminsCacheAPI(
}
}
override suspend fun sentByAdmin(groupContentMessage: GroupContentMessage<*>): Boolean {
return when (groupContentMessage) {
is AnonymousGroupContentMessage -> true
is CommonGroupContentMessage -> isAdmin(
groupContentMessage.chat.id,
groupContentMessage.user.id
)
else -> false
}
}
override suspend fun settings(): AdminsCacheSettingsAPI = settingsAPI
}

View File

@@ -11,10 +11,10 @@ kotlin_serialisation_core_version=1.1.0
github_release_plugin_version=2.2.12
tgbotapi_version=0.33.1
micro_utils_version=0.4.31
exposed_version=0.29.1
plagubot_version=0.1.6
tgbotapi_version=0.34.0
micro_utils_version=0.4.36
exposed_version=0.31.1
plagubot_version=0.2.0
# ANDROID
@@ -33,5 +33,5 @@ dokka_version=1.4.20
# Project data
group=dev.inmo
version=0.0.3
android_code_version=3
version=0.0.7
android_code_version=6