mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-03 23:29:33 +00:00
add workarounds for reactions
This commit is contained in:
@@ -112,6 +112,7 @@ import dev.inmo.tgbotapi.types.chat.Bot
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
||||
import dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedBot
|
||||
@@ -423,6 +424,8 @@ import dev.inmo.tgbotapi.types.request.UserShared
|
||||
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
||||
import dev.inmo.tgbotapi.types.update.ChannelPostUpdate
|
||||
import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||
import dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate
|
||||
import dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate
|
||||
import dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate
|
||||
import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate
|
||||
import dev.inmo.tgbotapi.types.update.EditChannelPostUpdate
|
||||
@@ -2112,6 +2115,36 @@ public inline fun Chat.unknownChatTypeOrThrow(): UnknownChatType = this as
|
||||
public inline fun <T> Chat.ifUnknownChatType(block: (UnknownChatType) -> T): T? =
|
||||
unknownChatTypeOrNull() ?.let(block)
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.byChatOrNull(): ChatMessageReactionUpdated.ByChat? =
|
||||
this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByChat
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.byChatOrThrow(): ChatMessageReactionUpdated.ByChat =
|
||||
this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByChat
|
||||
|
||||
public inline fun <T>
|
||||
ChatMessageReactionUpdated.ifByChat(block: (ChatMessageReactionUpdated.ByChat) -> T): T? =
|
||||
byChatOrNull() ?.let(block)
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.byUserOrNull(): ChatMessageReactionUpdated.ByUser? =
|
||||
this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByUser
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.byUserOrThrow(): ChatMessageReactionUpdated.ByUser =
|
||||
this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByUser
|
||||
|
||||
public inline fun <T>
|
||||
ChatMessageReactionUpdated.ifByUser(block: (ChatMessageReactionUpdated.ByUser) -> T): T? =
|
||||
byUserOrNull() ?.let(block)
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.unknownOrNull(): ChatMessageReactionUpdated.Unknown? =
|
||||
this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.Unknown
|
||||
|
||||
public inline fun ChatMessageReactionUpdated.unknownOrThrow(): ChatMessageReactionUpdated.Unknown =
|
||||
this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.Unknown
|
||||
|
||||
public inline fun <T>
|
||||
ChatMessageReactionUpdated.ifUnknown(block: (ChatMessageReactionUpdated.Unknown) -> T): T? =
|
||||
unknownOrNull() ?.let(block)
|
||||
|
||||
public inline fun DiceAnimationType.cubeDiceAnimationTypeOrNull(): CubeDiceAnimationType? = this as?
|
||||
dev.inmo.tgbotapi.types.dice.CubeDiceAnimationType
|
||||
|
||||
@@ -4567,6 +4600,28 @@ public inline fun Update.chatJoinRequestUpdateOrThrow(): ChatJoinRequestUpdate =
|
||||
public inline fun <T> Update.ifChatJoinRequestUpdate(block: (ChatJoinRequestUpdate) -> T): T? =
|
||||
chatJoinRequestUpdateOrNull() ?.let(block)
|
||||
|
||||
public inline fun Update.chatMessageReactionUpdatedUpdateOrNull(): ChatMessageReactionUpdatedUpdate?
|
||||
= this as? dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate
|
||||
|
||||
public inline fun Update.chatMessageReactionUpdatedUpdateOrThrow(): ChatMessageReactionUpdatedUpdate
|
||||
= this as dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate
|
||||
|
||||
public inline fun <T>
|
||||
Update.ifChatMessageReactionUpdatedUpdate(block: (ChatMessageReactionUpdatedUpdate) -> T): T? =
|
||||
chatMessageReactionUpdatedUpdateOrNull() ?.let(block)
|
||||
|
||||
public inline fun Update.chatMessageReactionsCountUpdatedUpdateOrNull():
|
||||
ChatMessageReactionsCountUpdatedUpdate? = this as?
|
||||
dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate
|
||||
|
||||
public inline fun Update.chatMessageReactionsCountUpdatedUpdateOrThrow():
|
||||
ChatMessageReactionsCountUpdatedUpdate = this as
|
||||
dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate
|
||||
|
||||
public inline fun <T>
|
||||
Update.ifChatMessageReactionsCountUpdatedUpdate(block: (ChatMessageReactionsCountUpdatedUpdate) -> T):
|
||||
T? = chatMessageReactionsCountUpdatedUpdateOrNull() ?.let(block)
|
||||
|
||||
public inline fun Update.chosenInlineResultUpdateOrNull(): ChosenInlineResultUpdate? = this as?
|
||||
dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate
|
||||
|
||||
|
@@ -40,6 +40,8 @@ fun Update.sourceChatWithConverters(
|
||||
editChannelPostUpdateConverter: (EditChannelPostUpdate) -> Chat? = { it.data.chat },
|
||||
editMessageUpdateConverter: (EditMessageUpdate) -> Chat? = { it.data.chat },
|
||||
myChatMemberUpdatedUpdateConverter: (MyChatMemberUpdatedUpdate) -> Chat? = { it.data.chat },
|
||||
chatMessageReactionUpdatedUpdateConverter: (ChatMessageReactionUpdatedUpdate) -> Chat? = { it.data.chat },
|
||||
chatMessageReactionsCountUpdatedUpdateConverter: (ChatMessageReactionsCountUpdatedUpdate) -> Chat? = { it.data.chat },
|
||||
commonChatMemberUpdatedUpdateConverter: (CommonChatMemberUpdatedUpdate) -> Chat? = { it.data.chat }
|
||||
): Chat? = when (this) {
|
||||
is BaseMessageUpdate -> baseMessageUpdateConverter(this)
|
||||
@@ -57,6 +59,8 @@ fun Update.sourceChatWithConverters(
|
||||
is EditMessageUpdate -> editMessageUpdateConverter(this)
|
||||
is MyChatMemberUpdatedUpdate -> myChatMemberUpdatedUpdateConverter(this)
|
||||
is CommonChatMemberUpdatedUpdate -> commonChatMemberUpdatedUpdateConverter(this)
|
||||
is ChatMessageReactionUpdatedUpdate -> chatMessageReactionUpdatedUpdateConverter(this)
|
||||
is ChatMessageReactionsCountUpdatedUpdate -> chatMessageReactionsCountUpdatedUpdateConverter(this)
|
||||
else -> {
|
||||
when (val data = data) {
|
||||
is FromUser -> data.from
|
||||
|
Reference in New Issue
Block a user