1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-08-19 07:36:26 +00:00
Files
tgbotapi/docs/dev.inmo.tgbotapi.bot.multiserver/telegram-bot.html
InsanusMokrassar f83e3d7248 deploy: c7761fd294
2026-07-01 12:08:57 +00:00

141 lines
32 KiB
HTML

<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>telegramBot</title>
<link href="../../images/logo-icon.svg" rel="icon" type="image/svg">
<script>var pathToRoot = "../../";</script>
<script>document.documentElement.classList.replace("no-js", "js");</script>
<script>const storage = localStorage.getItem("dokka-dark-mode")
if (storage == null) {
const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if (osDarkSchemePreferred === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
} else {
const savedDarkMode = JSON.parse(storage)
if (savedDarkMode === true) {
document.getElementsByTagName("html")[0].classList.add("theme-dark")
}
}
</script>
<script type="text/javascript" src="../../scripts/sourceset_dependencies.js" async="async"></script>
<link href="../../styles/style.css" rel="Stylesheet">
<link href="../../styles/main.css" rel="Stylesheet">
<link href="../../styles/prism.css" rel="Stylesheet">
<link href="../../styles/logo-styles.css" rel="Stylesheet">
<link href="../../ui-kit/ui-kit.min.css" rel="Stylesheet">
<script type="text/javascript" src="../../scripts/safe-local-storage_blocking.js"></script>
<script type="text/javascript" src="../../scripts/navigation-loader.js" async="async"></script>
<script type="text/javascript" src="../../scripts/platform-content-handler.js" async="async"></script>
<script type="text/javascript" src="../../scripts/main.js" defer="defer"></script>
<script type="text/javascript" src="../../scripts/prism.js" async="async"></script>
<script type="text/javascript" src="../../ui-kit/ui-kit.min.js" defer="defer"></script>
</head>
<body>
<div class="root">
<header class="navigation theme-dark" id="navigation-wrapper" role="banner">
<a class="library-name--link" href="../../index.html" tabindex="1">
docs
</a>
<button class="navigation-controls--btn navigation-controls--btn_toc ui-kit_mobile-only" id="toc-toggle"
type="button">Toggle table of contents
</button>
<div class="navigation-controls--break ui-kit_mobile-only"></div>
<div class="library-version" id="library-version">
35.1.0 </div>
<div class="navigation-controls">
<ul class="filter-section filter-section_loading" id="filter-section" aria-label="Target filter">
<button class="platform-tag platform-selector common-like" data-active="" aria-pressed="true"
data-filter=":docs/commonMain">common</button>
<div class="dropdown filter-section--dropdown" data-role="dropdown" id="filter-section-dropdown">
<button class="button button_dropdown filter-section--dropdown-toggle" role="combobox"
data-role="dropdown-toggle"
aria-controls="platform-tags-listbox"
aria-haspopup="listbox"
aria-expanded="false"
aria-label="Toggle source sets"
></button>
<ul role="listbox" id="platform-tags-listbox" class="dropdown--list" data-role="dropdown-listbox" aria-label="Target filter">
<div class="dropdown--header"><span>Target filter</span>
<button class="button" data-role="dropdown-toggle" aria-label="Close target filter">
<i class="ui-kit-icon ui-kit-icon_cross"></i>
</button>
</div>
<li role="option" class="dropdown--option platform-selector-option common-like" tabindex="0">
<label class="checkbox">
<input type="checkbox" class="checkbox--input" id=":docs/commonMain"
data-filter=":docs/commonMain"/>
<span class="checkbox--icon"></span>
common
</label>
</li>
</ul>
<div class="dropdown--overlay"></div>
</div>
</ul>
<button class="navigation-controls--btn navigation-controls--btn_theme" id="theme-toggle-button"
type="button">Switch theme
</button>
<div class="navigation-controls--btn navigation-controls--btn_search" id="searchBar" role="button">Search in
API
</div>
</div>
</header>
<div id="container">
<nav id="leftColumn" class="sidebar" data-item-type="SECTION" data-item-config='{"defaultSize": 280, "minSize": 200, "maxSize": 400}'>
<a class="toc--skip-link" href="#main">Skip to content</a>
<div class="dropdown theme-dark_mobile" data-role="dropdown" id="toc-dropdown">
<ul role="listbox" id="toc-listbox" class="dropdown--list dropdown--list_toc-list"
data-role="dropdown-listbox" aria-label="Table of contents">
<div class="dropdown--header">
<span>
docs
</span>
<button class="button" data-role="dropdown-toggle" aria-label="Close table of contents">
<i class="ui-kit-icon ui-kit-icon_cross"></i>
</button>
</div>
<div class="sidebar--inner" id="sideMenu"></div>
</ul>
<div class="dropdown--overlay"></div>
</div>
</nav>
<div id="resizer" class="resizer" data-item-type="BAR"></div>
<div id="main" data-item-type="SECTION" role="main">
<div class="main-content" data-page-type="member" id="content" pageIds="docs::dev.inmo.tgbotapi.bot.multiserver//telegramBot/#kotlin.collections.List[dev.inmo.tgbotapi.bot.RequestsExecutor]#kotlin.coroutines.SuspendFunction3[kotlin.collections.List[dev.inmo.tgbotapi.bot.RequestsExecutor],kotlin.Int,kotlin.Throwable?,dev.inmo.tgbotapi.bot.RequestsExecutor]#kotlin.Function0[kotlin.Unit]/PointingToDeclaration//444310150">
<div class="breadcrumbs"><a href="../../index.html">docs</a><span class="delimiter">/</span><a href="index.html">dev.inmo.tgbotapi.bot.multiserver</a><span class="delimiter">/</span><span class="current">telegramBot</span></div>
<div class="cover ">
<h1 class="cover"><span>telegram</span><wbr></wbr><span><span>Bot</span></span></h1>
</div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":docs/commonMain"><div class="symbol monospace"><span class="token keyword">inline </span><span class="token keyword">fun </span><a href="telegram-bot.html"><span class="token function">telegramBot</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">bots<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>botSelector<span class="token operator">: </span><span class="token keyword">suspend </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><span class="token punctuation">(</span>currentBotIndex<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span>t<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html">Throwable</a><span class="token operator">?</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator"> = </span>{ i, _ -&gt;
getOrElse(i + 1) { first() }
}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>onClose<span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{
bots.forEach(TelegramBot::close)
}</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/InsanusMokrassar/ktgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/multiserver/SimpleMultiServerRequestsExecutor.kt#L155">source</a>)</span></span></div><p class="paragraph">Creates <a href="-simple-multi-server-requests-executor/index.html">SimpleMultiServerRequestsExecutor</a></p><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>bots</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Bots which will be used to <a href="../dev.inmo.tgbotapi.requests.abstracts/-request/index.html">SimpleMultiServerRequestsExecutor.execute</a>s</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bot</span><wbr></wbr><span><span>Selector</span></span></u></div></span></div><div><div class="title"><p class="paragraph">It is strategy by which the bot is selected for the execution. This lambda will receive <strong>-1</strong> when request execution just started and this call is first in context of one <a href="-simple-multi-server-requests-executor/execute.html">SimpleMultiServerRequestsExecutor.execute</a>. By default, will select next <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a> when called (or first when current index is last or -1)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>on</span><wbr></wbr><span><span>Close</span></span></u></div></span></div><div><div class="title"><p class="paragraph">This method will be called inside of <a href="-simple-multi-server-requests-executor/close.html">SimpleMultiServerRequestsExecutor.close</a> method. By default, will close all <a href="telegram-bot.html">bots</a></p></div></div></div></div></div><hr><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-name/index.html"><span class="token annotation builtin">JvmName</span></a><span class="token punctuation">(</span><span>name<span class="token operator"> = </span><span class="breakable-word"><span class="token string">&quot;telegramBotByApiUrlsKeepers&quot;</span></span></span><wbr></wbr><span class="token punctuation">)</span></div></div><span class="token keyword">inline </span><span class="token keyword">fun </span><a href="telegram-bot.html"><span class="token function">telegramBot</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">keepers<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-iterable/index.html">Iterable</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.utils/-telegram-a-p-i-urls-keeper/index.html">TelegramAPIUrlsKeeper</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">crossinline </span>builder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot.ktor/-ktor-requests-executor-builder/index.html">KtorRequestsExecutorBuilder</a><span class="token punctuation">.</span><span class="token punctuation">(</span><a href="../dev.inmo.tgbotapi.utils/-telegram-a-p-i-urls-keeper/index.html">TelegramAPIUrlsKeeper</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>botSelector<span class="token operator">: </span><span class="token keyword">suspend </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><span class="token punctuation">(</span>currentBotIndex<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span>t<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html">Throwable</a><span class="token operator">?</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator"> = </span>{ i, _ -&gt;
getOrElse(i + 1) { first() }
}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>onClose<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/InsanusMokrassar/ktgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/multiserver/SimpleMultiServerRequestsExecutor.kt#L177">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>keepers</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Will be used to create result <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>builder</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Will be called with each item from <a href="telegram-bot.html">keepers</a> in process of bots creation</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bot</span><wbr></wbr><span><span>Selector</span></span></u></div></span></div><div><div class="title"><p class="paragraph">It is strategy by which the bot is selected for the execution. This lambda will receive <strong>-1</strong> when request execution just started and this call is first in context of one <a href="-simple-multi-server-requests-executor/execute.html">SimpleMultiServerRequestsExecutor.execute</a>. By default, will select next <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a> when called (or first when current index is last or -1)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>on</span><wbr></wbr><span><span>Close</span></span></u></div></span></div><div><div class="title"><p class="paragraph">This method will be called inside of <a href="-simple-multi-server-requests-executor/close.html">SimpleMultiServerRequestsExecutor.close</a> method. By default, will close all <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div></div><hr><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-name/index.html"><span class="token annotation builtin">JvmName</span></a><span class="token punctuation">(</span><span>name<span class="token operator"> = </span><span class="breakable-word"><span class="token string">&quot;telegramBotByTokens&quot;</span></span></span><wbr></wbr><span class="token punctuation">)</span></div></div><span class="token keyword">inline </span><span class="token keyword">fun </span><a href="telegram-bot.html"><span class="token function">telegramBot</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">tokens<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-iterable/index.html">Iterable</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">crossinline </span>builder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot.ktor/-ktor-requests-executor-builder/index.html">KtorRequestsExecutorBuilder</a><span class="token punctuation">.</span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>botSelector<span class="token operator">: </span><span class="token keyword">suspend </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><span class="token punctuation">(</span>currentBotIndex<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span>t<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html">Throwable</a><span class="token operator">?</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator"> = </span>{ i, _ -&gt;
getOrElse(i + 1) { first() }
}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>onClose<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/InsanusMokrassar/ktgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/multiserver/SimpleMultiServerRequestsExecutor.kt#L198">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>tokens</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Will be used to create result <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>builder</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Will be called with each item from <a href="telegram-bot.html">tokens</a> in process of bots creation</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bot</span><wbr></wbr><span><span>Selector</span></span></u></div></span></div><div><div class="title"><p class="paragraph">It is strategy by which the bot is selected for the execution. This lambda will receive <strong>-1</strong> when request execution just started and this call is first in context of one <a href="-simple-multi-server-requests-executor/execute.html">SimpleMultiServerRequestsExecutor.execute</a>. By default, will select next <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a> when called (or first when current index is last or -1)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>on</span><wbr></wbr><span><span>Close</span></span></u></div></span></div><div><div class="title"><p class="paragraph">This method will be called inside of <a href="-simple-multi-server-requests-executor/close.html">SimpleMultiServerRequestsExecutor.close</a> method. By default, will close all <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div></div><hr><div class="symbol monospace"><div class="block"><div class="block"><span class="token annotation builtin">@</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-name/index.html"><span class="token annotation builtin">JvmName</span></a><span class="token punctuation">(</span><span>name<span class="token operator"> = </span><span class="breakable-word"><span class="token string">&quot;telegramBotByTokensAndApiUrls&quot;</span></span></span><wbr></wbr><span class="token punctuation">)</span></div></div><span class="token keyword">inline </span><span class="token keyword">fun </span><a href="telegram-bot.html"><span class="token function">telegramBot</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">tokens<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-iterable/index.html">Iterable</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">crossinline </span>builder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot.ktor/-ktor-requests-executor-builder/index.html">KtorRequestsExecutorBuilder</a><span class="token punctuation">.</span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator">&gt;</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>botSelector<span class="token operator">: </span><span class="token keyword">suspend </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><span class="token punctuation">(</span>currentBotIndex<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token punctuation">, </span>t<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html">Throwable</a><span class="token operator">?</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator"> = </span>{ i, _ -&gt;
getOrElse(i + 1) { first() }
}<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>onClose<span class="token operator">: </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token operator">&gt;</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">?</span><span class="token operator"> = </span>null</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="source-link-wrapper"><span class="source-link" data-element-type="source-link">(<a href="https://github.com/InsanusMokrassar/ktgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/multiserver/SimpleMultiServerRequestsExecutor.kt#L220">source</a>)</span></span></div><h4 class="tableheader">Parameters</h4><div class="table"><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>tokens</span></span></u></div></span></div><div><div class="title"><p class="paragraph"><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a>s with first parameter as a token and second parameter api url. Will be used to create result <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span><span>builder</span></span></u></div></span></div><div><div class="title"><p class="paragraph">Will be called with each item from <a href="telegram-bot.html">tokens</a> in process of bots creation</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>bot</span><wbr></wbr><span><span>Selector</span></span></u></div></span></div><div><div class="title"><p class="paragraph">It is strategy by which the bot is selected for the execution. This lambda will receive <strong>-1</strong> when request execution just started and this call is first in context of one <a href="-simple-multi-server-requests-executor/execute.html">SimpleMultiServerRequestsExecutor.execute</a>. By default, will select next <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a> when called (or first when current index is last or -1)</p></div></div></div></div><div class="table-row table-row_content" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>on</span><wbr></wbr><span><span>Close</span></span></u></div></span></div><div><div class="title"><p class="paragraph">This method will be called inside of <a href="-simple-multi-server-requests-executor/close.html">SimpleMultiServerRequestsExecutor.close</a> method. By default, will close all <span data-unresolved-link="dev.inmo.tgbotapi.bot.multiserver/SimpleMultiServerRequestsExecutor/bots/#/PointingToDeclaration/">SimpleMultiServerRequestsExecutor.bots</span></p></div></div></div></div></div></div></div>
</div>
<div class="footer">
<div class="footer--container">
<a href="#content" id="go-to-top-link" class="footer--button footer--button_go-to-top"></a>
<div class="footer--content">
<div>
<span>Generated by </span>
<a class="footer--link footer--link_external" href="https://github.com/Kotlin/dokka">
Dokka
</a>
<div>© 2026 Copyright</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>