All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.insanusmokrassar.AutoPostTelegramBot.utils.CallbackQueryReceivers.CallbackQueryReceiver.kt Maven / Gradle / Ivy

package com.github.insanusmokrassar.AutoPostTelegramBot.utils.CallbackQueryReceivers

import com.github.insanusmokrassar.AutoPostTelegramBot.callbackQueryListener
import com.github.insanusmokrassar.AutoPostTelegramBot.utils.NewDefaultCoroutineScope
import com.github.insanusmokrassar.AutoPostTelegramBot.utils.extensions.subscribe
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
import com.github.insanusmokrassar.TelegramBotAPI.types.update.CallbackQueryUpdate
import java.lang.ref.WeakReference

private val CallbackQueryReceiversScope = NewDefaultCoroutineScope()

abstract class CallbackQueryReceiver(
    executor: RequestsExecutor
) {
    protected val executorWR = WeakReference(executor)

    init {
        callbackQueryListener.subscribe(
            scope = CallbackQueryReceiversScope,
            by = ::invoke
        )
    }

    abstract suspend fun invoke(update: CallbackQueryUpdate)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy