RequestsExecutor

interface RequestsExecutor : Closeable

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

See also

Functions

close
Link copied to clipboard
common
abstract fun close()
execute
Link copied to clipboard
common
abstract suspend fun <T : Any> execute(request: Request<T>): T
Unsafe execution of incoming request.

Inheritors

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

Extensions

executeAsync
Link copied to clipboard
common
fun <T : Any> RequestsExecutor.executeAsync(request: Request<T>, scope: CoroutineScope): Deferred<T>
suspend fun <T : Any> RequestsExecutor.executeAsync(request: Request<T>): Deferred<T>
executeUnsafe
Link copied to clipboard
common
suspend fun <T : Any> RequestsExecutor.executeUnsafe(request: Request<T>, retries: Int = 0, retriesDelay: Long = 1000L, onAllFailed: suspend (exceptions: Array<Throwable>) -> Unit? = null): T?
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 = 1000L, block: UpdateReceiver<Update>): ApplicationEngine
Setting up ktor server, set webhook info via SetWebhookRequest request.
startGettingOfUpdatesByLongPolling
Link copied to clipboard
common
fun RequestsExecutor.startGettingOfUpdatesByLongPolling(updatesFilter: UpdatesFilter, timeoutSeconds: Seconds = 30, exceptionsHandler: ExceptionHandler<Unit>? = null, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): Job