docs

# RequestsExecutor

interface RequestsExecutor : Closeable
Content copied to clipboard

Interface for making requests to Telegram Bot API. Currently, there is only one built-in implementation - dev.inmo.tgbotapi.bot.Ktor.KtorRequestsExecutor

## See also

dev.inmo.tgbotapi.requests.abstracts.Request
dev.inmo.tgbotapi.bot.Ktor.KtorRequestsExecutor

## Functions

close
Link copied to clipboard
expect abstract fun close ()
Content copied to clipboard
execute
Link copied to clipboard
abstract suspend fun < T : Any > execute (request: Request < T >): T
Content copied to clipboard

Unsafe execution of incoming request. Can throw almost any exception. So, it is better to use something like dev.inmo.tgbotapi.extensions.utils.shortcuts.executeAsync or dev.inmo.tgbotapi.extensions.utils.shortcuts.executeUnsafe

## Inheritors

BehaviourContext
Link copied to clipboard
DefaultBehaviourContext
Link copied to clipboard
BaseRequestsExecutor
Link copied to clipboard
SimpleMultiServerRequestsExecutor
Link copied to clipboard

## Extensions

executeAsync
Link copied to clipboard
fun < T : Any > RequestsExecutor . executeAsync (request: Request < T >, scope: CoroutineScope): Deferred< T >
Content copied to clipboard
suspend fun < T : Any > RequestsExecutor . executeAsync (request: Request < T >): Deferred< T >
Content copied to clipboard
executeUnsafe
Link copied to clipboard
suspend fun < T : Any > RequestsExecutor . executeUnsafe ( request: Request < T >, retries: Int = 0, retriesDelay: Long = 1000, onAllFailed: suspend (exceptions: Array < Throwable >) -> Unit ? = null): T ?
Content copied to clipboard
setWebhookInfoAndStartListenWebhooks
Link copied to clipboard
suspend fun RequestsExecutor . setWebhookInfoAndStartListenWebhooks ( listenPort: Int , engineFactory: ApplicationEngineFactory<*, *>, setWebhookRequest: SetWebhookRequest, exceptionsHandler: ExceptionHandler< Unit > = {}, listenHost: String = "0.0.0.0", listenRoute: String = "/", privateKeyConfig: WebhookPrivateKeyConfig ? = null, scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()), mediaGroupsDebounceTimeMillis: Long = 1000, additionalApplicationEngineEnvironmentConfigurator: ApplicationEngineEnvironmentBuilder.() -> Unit = {}, block: UpdateReceiver<Update>): ApplicationEngine
Content copied to clipboard

Setting up ktor server, set webhook info via SetWebhookRequest request.

startGettingOfUpdatesByLongPolling
Link copied to clipboard
fun RequestsExecutor . startGettingOfUpdatesByLongPolling ( updatesFilter: UpdatesFilter , timeoutSeconds: Seconds = 30, exceptionsHandler: ExceptionHandler< Unit >? = null, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): Job
Content copied to clipboard