mirror of
				https://github.com/InsanusMokrassar/TelegramBotAPI.git
				synced 2025-10-25 17:20:07 +00:00 
			
		
		
		
	MediaGroupMessage implementation
This commit is contained in:
		| @@ -1 +1,8 @@ | |||||||
| # TelegramBotAPI changelog | # TelegramBotAPI changelog | ||||||
|  |  | ||||||
|  | ## 0.8.1 | ||||||
|  |  | ||||||
|  | * Update `MediaGroupMessage` interface | ||||||
|  | * Add implementation of `MediaGroupMessage` | ||||||
|  | * Add generating of `MediaGroupMessage` in `RawMessage` | ||||||
|  |  | ||||||
|   | |||||||
| @@ -0,0 +1,17 @@ | |||||||
|  | package com.github.insanusmokrassar.TelegramBotAPI.types.message | ||||||
|  |  | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.MediaGroupIdentifier | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.chat.Chat | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.MediaGroupMessage | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MediaGroupContent | ||||||
|  | import org.joda.time.DateTime | ||||||
|  |  | ||||||
|  | data class MediaGroupMessage( | ||||||
|  |     override val messageId: MessageIdentifier, | ||||||
|  |     override val chat: Chat, | ||||||
|  |     override val date: DateTime, | ||||||
|  |     override val mediaGroupId: MediaGroupIdentifier, | ||||||
|  |     override val content: MediaGroupContent | ||||||
|  | ) : Message, MediaGroupMessage | ||||||
| @@ -207,7 +207,19 @@ data class RawMessage( | |||||||
|             } |             } | ||||||
|         } ?: content ?.let { |         } ?: content ?.let { | ||||||
|             content -> |             content -> | ||||||
|             when (chat) { |             media_group_id ?.let { | ||||||
|  |                 MediaGroupMessage( | ||||||
|  |                     messageId, | ||||||
|  |                     chat, | ||||||
|  |                     date.asDate, | ||||||
|  |                     it, | ||||||
|  |                     when (content) { | ||||||
|  |                         is PhotoContent -> content | ||||||
|  |                         is VideoContent -> content | ||||||
|  |                         else -> throw IllegalStateException("Unsupported content for media group") | ||||||
|  |                     } | ||||||
|  |                 ) | ||||||
|  |             } ?: when (chat) { | ||||||
|                 is ChannelChat -> ChannelMessage( |                 is ChannelChat -> ChannelMessage( | ||||||
|                     messageId, |                     messageId, | ||||||
|                     chat, |                     chat, | ||||||
|   | |||||||
| @@ -1,8 +1,9 @@ | |||||||
| package com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts | package com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts | ||||||
|  |  | ||||||
|  | import com.github.insanusmokrassar.TelegramBotAPI.types.MediaGroupIdentifier | ||||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MediaGroupContent | import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MediaGroupContent | ||||||
|  |  | ||||||
| interface MediaGroupMessage<T: MediaGroupContent> { | interface MediaGroupMessage : Message { | ||||||
|     val mediaGroupId: String |     val mediaGroupId: MediaGroupIdentifier | ||||||
|     val content: T |     val content: MediaGroupContent | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user