mirror of
https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
synced 2024-12-22 16:47:16 +00:00
commit
91013b914d
@ -38,8 +38,8 @@ fun TelegramBot.createAdminsCacheAPI(
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ text("member") },
|
{ text("member") },
|
||||||
"AdminsTable"
|
"AdminsTable"
|
||||||
).withMapper<IdChatIdentifier, AdministratorChatMember, Identifier, String>(
|
).withMapper<IdChatIdentifier, AdministratorChatMember, Long, String>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(AdministratorChatMember.serializer(), this) },
|
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(AdministratorChatMember.serializer(), this) },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(AdministratorChatMember.serializer(), this) }
|
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(AdministratorChatMember.serializer(), this) }
|
||||||
@ -49,8 +49,8 @@ fun TelegramBot.createAdminsCacheAPI(
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ long("datetime") },
|
{ long("datetime") },
|
||||||
"AdminsUpdatesTimesTable"
|
"AdminsUpdatesTimesTable"
|
||||||
).withMapper<IdChatIdentifier, Long, Identifier, Long>(
|
).withMapper<IdChatIdentifier, Long, Long, Long>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { this },
|
valueFromToTo = { this },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { this }
|
valueToToFrom = { this }
|
||||||
@ -63,8 +63,8 @@ fun TelegramBot.createAdminsCacheAPI(
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ text("settings") },
|
{ text("settings") },
|
||||||
"DynamicAdminsCacheSettingsAPI"
|
"DynamicAdminsCacheSettingsAPI"
|
||||||
).withMapper<IdChatIdentifier, AdminsCacheSettings, Identifier, String>(
|
).withMapper<IdChatIdentifier, AdminsCacheSettings, Long, String>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(AdminsCacheSettings.serializer() , this) },
|
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(AdminsCacheSettings.serializer() , this) },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(AdminsCacheSettings.serializer() , this) }
|
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(AdminsCacheSettings.serializer() , this) }
|
||||||
|
@ -55,8 +55,8 @@ class AdminsPlugin : Plugin {
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ text("member") },
|
{ text("member") },
|
||||||
"AdminsTable"
|
"AdminsTable"
|
||||||
).withMapper<IdChatIdentifier, AdministratorChatMember, Identifier, String>(
|
).withMapper<IdChatIdentifier, AdministratorChatMember, Long, String>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(this) },
|
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(this) },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(this) }
|
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(this) }
|
||||||
@ -66,8 +66,8 @@ class AdminsPlugin : Plugin {
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ long("datetime") },
|
{ long("datetime") },
|
||||||
"AdminsUpdatesTimesTable"
|
"AdminsUpdatesTimesTable"
|
||||||
).withMapper<IdChatIdentifier, Long, Identifier, Long>(
|
).withMapper<IdChatIdentifier, Long, Long, Long>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { this },
|
valueFromToTo = { this },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { this }
|
valueToToFrom = { this }
|
||||||
@ -82,8 +82,8 @@ class AdminsPlugin : Plugin {
|
|||||||
{ long("chatId") },
|
{ long("chatId") },
|
||||||
{ text("settings") },
|
{ text("settings") },
|
||||||
"DynamicAdminsCacheSettingsAPI"
|
"DynamicAdminsCacheSettingsAPI"
|
||||||
).withMapper<IdChatIdentifier, AdminsCacheSettings, Identifier, String>(
|
).withMapper<IdChatIdentifier, AdminsCacheSettings, Long, String>(
|
||||||
keyFromToTo = { chatId },
|
keyFromToTo = { chatId.long },
|
||||||
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(this) },
|
valueFromToTo = { telegramAdminsSerializationFormat.encodeToString(this) },
|
||||||
keyToToFrom = { toChatId() },
|
keyToToFrom = { toChatId() },
|
||||||
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(this) }
|
valueToToFrom = { telegramAdminsSerializationFormat.decodeFromString(this) }
|
||||||
|
@ -4,7 +4,7 @@ import dev.inmo.micro_utils.repos.*
|
|||||||
import dev.inmo.micro_utils.repos.mappers.withMapper
|
import dev.inmo.micro_utils.repos.mappers.withMapper
|
||||||
import dev.inmo.tgbotapi.libraries.cache.media.common.MessagesSimpleCache
|
import dev.inmo.tgbotapi.libraries.cache.media.common.MessagesSimpleCache
|
||||||
import dev.inmo.tgbotapi.types.ChatId
|
import dev.inmo.tgbotapi.types.ChatId
|
||||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
import dev.inmo.tgbotapi.types.MessageId
|
||||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
import kotlinx.serialization.builtins.PairSerializer
|
import kotlinx.serialization.builtins.PairSerializer
|
||||||
@ -47,7 +47,7 @@ class SimpleKeyValueMessageContentCache<K>(
|
|||||||
|
|
||||||
val chatIdToMessageIdentifierSerializer = PairSerializer(
|
val chatIdToMessageIdentifierSerializer = PairSerializer(
|
||||||
ChatId.serializer(),
|
ChatId.serializer(),
|
||||||
MessageIdentifier.serializer()
|
MessageId.serializer()
|
||||||
)
|
)
|
||||||
|
|
||||||
val messageContentSerializer = PolymorphicSerializer<MessageContent>(MessageContent::class)
|
val messageContentSerializer = PolymorphicSerializer<MessageContent>(MessageContent::class)
|
||||||
@ -56,9 +56,9 @@ inline fun <K> KeyValueRepo<K, MessageContent>.asMessageContentCache() = SimpleK
|
|||||||
|
|
||||||
inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
||||||
serialFormatCreator: (SerializersModule) -> StringFormat = { Json { serializersModule = it } }
|
serialFormatCreator: (SerializersModule) -> StringFormat = { Json { serializersModule = it } }
|
||||||
): StandardKeyValueRepo<Pair<ChatId, MessageIdentifier>, MessageContent> {
|
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
|
||||||
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
||||||
return withMapper<Pair<ChatId, MessageIdentifier>, MessageContent, String, String>(
|
return withMapper<Pair<ChatId, MessageId>, MessageContent, String, String>(
|
||||||
{ serialFormat.encodeToString(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.encodeToString(chatIdToMessageIdentifierSerializer, this) },
|
||||||
{ serialFormat.encodeToString(messageContentSerializer, this) },
|
{ serialFormat.encodeToString(messageContentSerializer, this) },
|
||||||
{ serialFormat.decodeFromString(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.decodeFromString(chatIdToMessageIdentifierSerializer, this) },
|
||||||
@ -70,9 +70,9 @@ inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
|||||||
@JsName("stringsKeyValueAsHexMessageContentCache")
|
@JsName("stringsKeyValueAsHexMessageContentCache")
|
||||||
inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
||||||
serialFormatCreator: (SerializersModule) -> BinaryFormat
|
serialFormatCreator: (SerializersModule) -> BinaryFormat
|
||||||
): StandardKeyValueRepo<Pair<ChatId, MessageIdentifier>, MessageContent> {
|
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
|
||||||
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
||||||
return withMapper<Pair<ChatId, MessageIdentifier>, MessageContent, String, String>(
|
return withMapper<Pair<ChatId, MessageId>, MessageContent, String, String>(
|
||||||
{ serialFormat.encodeToHexString(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.encodeToHexString(chatIdToMessageIdentifierSerializer, this) },
|
||||||
{ serialFormat.encodeToHexString(messageContentSerializer, this) },
|
{ serialFormat.encodeToHexString(messageContentSerializer, this) },
|
||||||
{ serialFormat.decodeFromHexString(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.decodeFromHexString(chatIdToMessageIdentifierSerializer, this) },
|
||||||
@ -84,9 +84,9 @@ inline fun KeyValueRepo<String, String>.asMessageContentCache(
|
|||||||
@JsName("bytesKeyValueAsMessageContentCache")
|
@JsName("bytesKeyValueAsMessageContentCache")
|
||||||
inline fun KeyValueRepo<ByteArray, ByteArray>.asMessageContentCache(
|
inline fun KeyValueRepo<ByteArray, ByteArray>.asMessageContentCache(
|
||||||
serialFormatCreator: (SerializersModule) -> BinaryFormat
|
serialFormatCreator: (SerializersModule) -> BinaryFormat
|
||||||
): StandardKeyValueRepo<Pair<ChatId, MessageIdentifier>, MessageContent> {
|
): StandardKeyValueRepo<Pair<ChatId, MessageId>, MessageContent> {
|
||||||
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
val serialFormat = serialFormatCreator(MessageContent.serializationModule())
|
||||||
return withMapper<Pair<ChatId, MessageIdentifier>, MessageContent, ByteArray, ByteArray>(
|
return withMapper<Pair<ChatId, MessageId>, MessageContent, ByteArray, ByteArray>(
|
||||||
{ serialFormat.encodeToByteArray(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.encodeToByteArray(chatIdToMessageIdentifierSerializer, this) },
|
||||||
{ serialFormat.encodeToByteArray(messageContentSerializer, this) },
|
{ serialFormat.encodeToByteArray(messageContentSerializer, this) },
|
||||||
{ serialFormat.decodeFromByteArray(chatIdToMessageIdentifierSerializer, this) },
|
{ serialFormat.decodeFromByteArray(chatIdToMessageIdentifierSerializer, this) },
|
||||||
|
@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.libraries.resender
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.FullChatIdentifierSerializer
|
import dev.inmo.tgbotapi.types.FullChatIdentifierSerializer
|
||||||
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
||||||
|
import dev.inmo.tgbotapi.types.MediaGroupId
|
||||||
import dev.inmo.tgbotapi.types.MessageId
|
import dev.inmo.tgbotapi.types.MessageId
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||||
@ -14,7 +15,7 @@ data class MessageMetaInfo(
|
|||||||
@Serializable(FullChatIdentifierSerializer::class)
|
@Serializable(FullChatIdentifierSerializer::class)
|
||||||
val chatId: IdChatIdentifier,
|
val chatId: IdChatIdentifier,
|
||||||
val messageId: MessageId,
|
val messageId: MessageId,
|
||||||
val group: String? = null
|
val group: MediaGroupId? = null
|
||||||
) {
|
) {
|
||||||
val metaInfo: Message.MetaInfo
|
val metaInfo: Message.MetaInfo
|
||||||
get() = Message.MetaInfo(chatId, messageId)
|
get() = Message.MetaInfo(chatId, messageId)
|
||||||
|
Loading…
Reference in New Issue
Block a user