mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-03-03 17:32:23 +00:00
update forum events
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import korlibs.time.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewPrivateChat
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewPrivateForumChat
|
||||
import dev.inmo.tgbotapi.types.chat.PrivateChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateEvent
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateForumEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
||||
|
||||
data class PrivateForumEventMessage<T : PrivateForumEvent>(
|
||||
override val messageId: MessageId,
|
||||
override val chat: PreviewPrivateForumChat,
|
||||
override val chatEvent: T,
|
||||
override val date: DateTime
|
||||
) : ChatEventMessage<T>
|
||||
@@ -380,12 +380,37 @@ internal data class RawMessage(
|
||||
chatEvent as? ChannelEvent ?: throwWrongChatEvent(ChannelEvent::class, chatEvent),
|
||||
date.asDate
|
||||
)
|
||||
is PreviewPrivateChat -> PrivateEventMessage(
|
||||
messageId,
|
||||
chat,
|
||||
chatEvent as? PrivateEvent ?: throwWrongChatEvent(PrivateEvent::class, chatEvent),
|
||||
date.asDate
|
||||
)
|
||||
is PreviewPrivateChat -> if (chat is PrivateForumChat || is_topic_message == true || messageThreadId != null) {
|
||||
PrivateEventMessage(
|
||||
messageId,
|
||||
if (chat is PrivateForumChat) {
|
||||
chat
|
||||
} else {
|
||||
PrivateForumChatImpl(
|
||||
id = if (messageThreadId == null) {
|
||||
chat.id
|
||||
} else {
|
||||
ChatIdWithThreadId(
|
||||
chat.id.chatId,
|
||||
chat.id.threadId ?: messageThreadId
|
||||
)
|
||||
},
|
||||
username = chat.username,
|
||||
firstName = chat.firstName,
|
||||
lastName = chat.lastName
|
||||
)
|
||||
},
|
||||
chatEvent as? PrivateEvent ?: throwWrongChatEvent(PrivateEvent::class, chatEvent),
|
||||
date.asDate
|
||||
)
|
||||
} else {
|
||||
PrivateEventMessage(
|
||||
messageId,
|
||||
chat,
|
||||
chatEvent as? PrivateEvent ?: throwWrongChatEvent(PrivateEvent::class, chatEvent),
|
||||
date.asDate
|
||||
)
|
||||
}
|
||||
else -> error("Expected one of the public chats, but was $chat (in extracting of chat event message)")
|
||||
}
|
||||
} ?: content?.let { content ->
|
||||
|
||||
Reference in New Issue
Block a user