1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-11-26 20:18:45 +00:00

CommonGroupEvent -> PublicChatEvent

This commit is contained in:
InsanusMokrassar 2021-10-03 18:44:29 +06:00
parent e51a4b7702
commit 3919359f79
13 changed files with 36 additions and 27 deletions

View File

@ -14,7 +14,7 @@
* `RowBuilder` and `MatrixBuilder` now are open and available for extending * `RowBuilder` and `MatrixBuilder` now are open and available for extending
* `MatrixBuilder#matrix` will return read-only new list instead of original internal `mutMatrix` * `MatrixBuilder#matrix` will return read-only new list instead of original internal `mutMatrix`
* Introduced new type of events `SuccessfulPaymentEvent` instead of putting of payment inside of message * Introduced new type of events `SuccessfulPaymentEvent` instead of putting of payment inside of message
* New type of events union: `CommonGroupEvent` * New type of events union: `PublicChatEvent`
* `Utils`: * `Utils`:
* Two new dsl: * Two new dsl:
* `inlineKeyboard` for creating `InlineKeyboardMarkup` * `inlineKeyboard` for creating `InlineKeyboardMarkup`

View File

@ -1,5 +1,5 @@
package dev.inmo.tgbotapi.types.message.ChatEvents package dev.inmo.tgbotapi.types.message.ChatEvents
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonGroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
class DeleteChatPhoto: CommonGroupEvent class DeleteChatPhoto: PublicChatEvent

View File

@ -1,8 +1,8 @@
package dev.inmo.tgbotapi.types.message.ChatEvents package dev.inmo.tgbotapi.types.message.ChatEvents
import dev.inmo.tgbotapi.types.User import dev.inmo.tgbotapi.types.User
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonGroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
data class LeftChatMember( data class LeftChatMember(
val user: User val user: User
) : CommonGroupEvent ) : PublicChatEvent

View File

@ -1,8 +1,8 @@
package dev.inmo.tgbotapi.types.message.ChatEvents package dev.inmo.tgbotapi.types.message.ChatEvents
import dev.inmo.tgbotapi.types.files.Photo import dev.inmo.tgbotapi.types.files.Photo
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonGroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
data class NewChatPhoto( data class NewChatPhoto(
val photo: Photo val photo: Photo
): CommonGroupEvent ): PublicChatEvent

View File

@ -1,7 +1,7 @@
package dev.inmo.tgbotapi.types.message.ChatEvents package dev.inmo.tgbotapi.types.message.ChatEvents
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonGroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
data class NewChatTitle( data class NewChatTitle(
val title: String val title: String
): CommonGroupEvent ): PublicChatEvent

View File

@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.ChatEvents
import dev.inmo.tgbotapi.types.Meters import dev.inmo.tgbotapi.types.Meters
import dev.inmo.tgbotapi.types.User import dev.inmo.tgbotapi.types.User
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonGroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
/** /**
@ -14,4 +14,4 @@ data class ProximityAlertTriggered(
val traveler: User, val traveler: User,
val watcher: User, val watcher: User,
val distance: Meters val distance: Meters
) : CommonGroupEvent ) : PublicChatEvent

View File

@ -1,3 +1,3 @@
package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts
interface CommonEvent : CommonGroupEvent, PrivateEvent interface CommonEvent : PublicChatEvent, PrivateEvent

View File

@ -1,3 +0,0 @@
package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts
interface CommonGroupEvent : ChannelEvent, GroupEvent, SupergroupEvent

View File

@ -0,0 +1,3 @@
package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts
interface PublicChatEvent : ChannelEvent, GroupEvent, SupergroupEvent

View File

@ -1,3 +1,3 @@
package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts
interface VoiceChatEvent : CommonGroupEvent interface VoiceChatEvent : PublicChatEvent

View File

@ -127,12 +127,12 @@ suspend fun BehaviourContext.waitMessageAutoDeleteTimerChangedEvents(
) = waitEvents(count, initRequest, errorFactory, filter, mapper) ) = waitEvents(count, initRequest, errorFactory, filter, mapper)
suspend fun BehaviourContext.waitCommonGroupEvents( suspend fun BehaviourContext.waitPublicChatEvents(
initRequest: Request<*>? = null, initRequest: Request<*>? = null,
errorFactory: NullableRequestBuilder<*> = { null }, errorFactory: NullableRequestBuilder<*> = { null },
count: Int = 1, count: Int = 1,
filter: SimpleFilter<ChatEventMessage<CommonGroupEvent>>? = null, filter: SimpleFilter<ChatEventMessage<PublicChatEvent>>? = null,
mapper: EventMessageToEventMapper<CommonGroupEvent>? = null mapper: EventMessageToEventMapper<PublicChatEvent>? = null
) = waitEvents(count, initRequest, errorFactory, filter, mapper) ) = waitEvents(count, initRequest, errorFactory, filter, mapper)
suspend fun BehaviourContext.waitCommonEvents( suspend fun BehaviourContext.waitCommonEvents(
initRequest: Request<*>? = null, initRequest: Request<*>? = null,

View File

@ -189,11 +189,11 @@ suspend fun BehaviourContext.onMessageAutoDeleteTimerChangedEvent(
* @param scenarioReceiver Main callback which will be used to handle incoming data if [initialFilter] will pass that * @param scenarioReceiver Main callback which will be used to handle incoming data if [initialFilter] will pass that
* data * data
*/ */
suspend fun BehaviourContext.onCommonGroupEvent( suspend fun BehaviourContext.onPublicChatEvent(
initialFilter: SimpleFilter<ChatEventMessage<CommonGroupEvent>>? = null, initialFilter: SimpleFilter<ChatEventMessage<PublicChatEvent>>? = null,
subcontextUpdatesFilter: BehaviourContextAndTwoTypesReceiver<Boolean, ChatEventMessage<CommonGroupEvent>, Update>? = MessageFilterByChat, subcontextUpdatesFilter: BehaviourContextAndTwoTypesReceiver<Boolean, ChatEventMessage<PublicChatEvent>, Update>? = MessageFilterByChat,
markerFactory: MarkerFactory<in ChatEventMessage<CommonGroupEvent>, Any> = ByChatMessageMarkerFactory, markerFactory: MarkerFactory<in ChatEventMessage<PublicChatEvent>, Any> = ByChatMessageMarkerFactory,
scenarioReceiver: BehaviourContextAndTypeReceiver<Unit, ChatEventMessage<CommonGroupEvent>> scenarioReceiver: BehaviourContextAndTypeReceiver<Unit, ChatEventMessage<PublicChatEvent>>
) = onEvent(initialFilter, subcontextUpdatesFilter, markerFactory, scenarioReceiver) ) = onEvent(initialFilter, subcontextUpdatesFilter, markerFactory, scenarioReceiver)
/** /**

View File

@ -3043,13 +3043,22 @@ inline fun ChatEvent.asChannelEvent(): ChannelEvent? = this as? ChannelEvent
inline fun ChatEvent.requireChannelEvent(): ChannelEvent = this as ChannelEvent inline fun ChatEvent.requireChannelEvent(): ChannelEvent = this as ChannelEvent
@PreviewFeature @PreviewFeature
inline fun <T> ChatEvent.whenCommonEvent(block: (CommonGroupEvent) -> T) = asCommonEvent() ?.let(block) inline fun <T> ChatEvent.whenPublicChatEvent(block: (PublicChatEvent) -> T) = asPublicChatEvent() ?.let(block)
@PreviewFeature @PreviewFeature
inline fun ChatEvent.asCommonEvent(): CommonGroupEvent? = this as? CommonGroupEvent inline fun ChatEvent.asPublicChatEvent(): PublicChatEvent? = this as? PublicChatEvent
@PreviewFeature @PreviewFeature
inline fun ChatEvent.requireCommonEvent(): CommonGroupEvent = this as CommonGroupEvent inline fun ChatEvent.requirePublicChatEvent(): PublicChatEvent = this as PublicChatEvent
@PreviewFeature
inline fun <T> ChatEvent.whenCommonEvent(block: (CommonEvent) -> T) = asCommonEvent() ?.let(block)
@PreviewFeature
inline fun ChatEvent.asCommonEvent(): CommonEvent? = this as? CommonEvent
@PreviewFeature
inline fun ChatEvent.requireCommonEvent(): CommonEvent = this as CommonEvent
@PreviewFeature @PreviewFeature
inline fun <T> ChatEvent.whenGroupEvent(block: (GroupEvent) -> T) = asGroupEvent() ?.let(block) inline fun <T> ChatEvent.whenGroupEvent(block: (GroupEvent) -> T) = asGroupEvent() ?.let(block)