1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-08-19 15:46:31 +00:00
Files
tgbotapi/docs/dev.inmo.tgbotapi.extensions.behaviour_builder/index.html
InsanusMokrassar f83e3d7248 deploy: c7761fd294
2026-07-01 12:08:57 +00:00

889 lines
222 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>dev.inmo.tgbotapi.extensions.behaviour_builder</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>
<button class="platform-tag platform-selector js-like" data-active="" aria-pressed="true"
data-filter=":docs/jsMain">js</button>
<button class="platform-tag platform-selector jvm-like" data-active="" aria-pressed="true"
data-filter=":docs/jvmMain">jvm</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>
<li role="option" class="dropdown--option platform-selector-option js-like" tabindex="0">
<label class="checkbox">
<input type="checkbox" class="checkbox--input" id=":docs/jsMain"
data-filter=":docs/jsMain"/>
<span class="checkbox--icon"></span>
js
</label>
</li>
<li role="option" class="dropdown--option platform-selector-option jvm-like" tabindex="0">
<label class="checkbox">
<input type="checkbox" class="checkbox--input" id=":docs/jvmMain"
data-filter=":docs/jvmMain"/>
<span class="checkbox--icon"></span>
jvm
</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="package" id="content" pageIds="docs::dev.inmo.tgbotapi.extensions.behaviour_builder////PointingToDeclaration//-2038737062">
<div class="breadcrumbs"><a href="../../index.html">docs</a><span class="delimiter">/</span><span class="current">dev.inmo.tgbotapi.extensions.behaviour_builder</span></div>
<div class="cover ">
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="TYPE">Types</button><button class="section-tab" data-togglable="FUNCTION,EXTENSION_FUNCTION">Functions</button><button class="section-tab" data-togglable="PROPERTY,EXTENSION_PROPERTY">Properties</button></div>
<div class="tabs-section-body">
<div data-togglable="TYPE">
<h2 class="tableheader">Types</h2>
<div class="table"><a data-name="1816604265%2FClasslikes%2F444310150" anchor-label="BehaviourContext" id="1816604265%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context/index.html"><span>Behaviour</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1816604265%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">interface </span><a href="-behaviour-context/index.html">BehaviourContext</a> : <a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a>, <a href="../dev.inmo.tgbotapi.bot/-requests-executor/index.html">RequestsExecutor</a>, <span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></div><div class="brief "><p class="paragraph">This class contains all necessary tools for work with bots and especially <a href="build-behaviour.html">buildBehaviour</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1930437658%2FClasslikes%2F444310150" anchor-label="BehaviourContextAndTwoTypesReceiver" id="-1930437658%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-and-two-types-receiver/index.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Two</span><wbr></wbr><span>Types</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1930437658%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-behaviour-context-and-two-types-receiver/index.html">BehaviourContextAndTwoTypesReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-two-types-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver/index.html">I1</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver/index.html">I2</a><span class="token operator">&gt;</span><span class="token operator"> = </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">CustomBehaviourContextAndTwoTypesReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver/index.html">I1</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver/index.html">I2</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1477624743%2FClasslikes%2F444310150" anchor-label="BehaviourContextAndTypeReceiver" id="-1477624743%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-and-type-receiver/index.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Type</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1477624743%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-behaviour-context-and-type-receiver/index.html">BehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-type-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver/index.html">I</a><span class="token operator">&gt;</span><span class="token operator"> = </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver/index.html">I</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1448024609%2FClasslikes%2F444310150" anchor-label="BehaviourContextData" id="-1448024609%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-data/index.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span><span>Data</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1448024609%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">data </span><span class="token keyword">class </span><a href="-behaviour-context-data/index.html">BehaviourContextData</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">data<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html">MutableMap</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/-any/index.html">Any</a><span class="token operator">?</span><span class="token operator">&gt;</span><span class="token operator"> = </span>mutableMapOf()</span></span><span class="token punctuation">)</span> : <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html">MutableMap</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/-any/index.html">Any</a><span class="token operator">?</span><span class="token operator">&gt; </span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1125173050%2FClasslikes%2F444310150" anchor-label="BehaviourContextReceiver" id="1125173050%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-receiver/index.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1125173050%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-receiver/index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="-behaviour-context-receiver/index.html">T</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="2123182527%2FClasslikes%2F444310150" anchor-label="BehaviourContextWithFSM" id="2123182527%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-with-f-s-m/index.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>With</span><wbr></wbr><span><span>FSM</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="2123182527%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">interface </span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt;</span> : <a href="-behaviour-context/index.html">BehaviourContext</a>, <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt; </span></div><div class="brief "><p class="paragraph">Interface which combine <a href="-behaviour-context/index.html">BehaviourContext</a> and <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span>. Subcontext of triggers and states contexts must have one common flow of updates and must not lose updates between updates</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1968170779%2FClasslikes%2F444310150" anchor-label="BehaviourWithFSMStateHandler" id="-1968170779%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-with-f-s-m-state-handler/index.html"><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span>FSMState</span><wbr></wbr><span><span>Handler</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1968170779%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token keyword">interface </span><a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler/index.html">I</a><span class="token operator"> : </span><a href="-behaviour-with-f-s-m-state-handler/index.html">O</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler/index.html">O</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt;</span> : <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesHandler///PointingToDeclaration/">StatesHandler</span><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler/index.html">I</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler/index.html">O</a><span class="token operator">&gt; </span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-382933607%2FClasslikes%2F444310150" anchor-label="BehaviourWithFSMStateHandlerHolder" id="-382933607%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-with-f-s-m-state-handler-holder/index.html"><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span>FSMState</span><wbr></wbr><span>Handler</span><wbr></wbr><span><span>Holder</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-382933607%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">class </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">I</a><span class="token operator"> : </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">inputKlass<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html">KClass</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">I</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">strict<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">delegateTo<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">I</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span> : <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/CheckableHandlerHolder///PointingToDeclaration/">CheckableHandlerHolder</span><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token operator">&gt; </span>, <a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">O</a><span class="token operator">&gt; </span></div><div class="brief "><p class="paragraph">Special holder for <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. This holder helps <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a> to understand whether it can handle input <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span> with <span data-unresolved-link="dev.inmo.tgbotapi.extensions.behaviour_builder/BehaviourWithFSMStateHandlerHolder//#kotlin.reflect.KClass[TypeParam(bounds=[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])])]#kotlin.Boolean#dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourWithFSMStateHandler[TypeParam(bounds=[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]),TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]/PointingToCallableParameters(2)/">delegateTo</span> or not</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="976654049%2FClasslikes%2F444310150" anchor-label="CombinedSubcontextInitialAction" id="976654049%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-combined-subcontext-initial-action/index.html"><span>Combined</span><wbr></wbr><span>Subcontext</span><wbr></wbr><span>Initial</span><wbr></wbr><span><span>Action</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="976654049%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">class </span><a href="-combined-subcontext-initial-action/index.html">CombinedSubcontextInitialAction</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">val </span>subactions<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="-combined-subcontext-initial-action/-sub-action/index.html">CombinedSubcontextInitialAction.SubAction</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">logger<span class="token operator">: </span><span data-unresolved-link="dev.inmo.kslog.common/KSLog///PointingToDeclaration/">KSLog</span><span class="token operator"> = </span>KSLog(&quot;CombinedSubcontextInitialAction_${subactions.size}&quot;)</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Contains <a href="-combined-subcontext-initial-action/-sub-action/index.html">SubAction</a>s which will be used in <a href="-combined-subcontext-initial-action/subcontext-initial-action.html">subcontextInitialAction</a> in order they has been passed in <span data-unresolved-link="dev.inmo.tgbotapi.extensions.behaviour_builder/CombinedSubcontextInitialAction//#kotlin.collections.List[dev.inmo.tgbotapi.extensions.behaviour_builder.CombinedSubcontextInitialAction.SubAction]#dev.inmo.kslog.common.KSLog/PointingToCallableParameters(0)/">subactions</span>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1990833289%2FClasslikes%2F444310150" anchor-label="CustomBehaviourContextAndTwoTypesReceiver" id="-1990833289%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-custom-behaviour-context-and-two-types-receiver/index.html"><span>Custom</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Two</span><wbr></wbr><span>Types</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1990833289%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">CustomBehaviourContextAndTwoTypesReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">I1</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">I2</a><span class="token operator">&gt;</span><span class="token operator"> = </span><span class="token keyword">suspend </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">BC</a><span class="token punctuation">.</span><span class="token punctuation">(</span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">I1</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">I2</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="-custom-behaviour-context-and-two-types-receiver/index.html">T</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1311499158%2FClasslikes%2F444310150" anchor-label="CustomBehaviourContextAndTypeReceiver" id="-1311499158%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-custom-behaviour-context-and-type-receiver/index.html"><span>Custom</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Type</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1311499158%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-type-receiver/index.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver/index.html">T</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver/index.html">I</a><span class="token operator">&gt;</span><span class="token operator"> = </span><span class="token keyword">suspend </span><a href="-custom-behaviour-context-and-type-receiver/index.html">BC</a><span class="token punctuation">.</span><span class="token punctuation">(</span><a href="-custom-behaviour-context-and-type-receiver/index.html">I</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="-custom-behaviour-context-and-type-receiver/index.html">T</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1892390839%2FClasslikes%2F444310150" anchor-label="CustomBehaviourContextReceiver" id="-1892390839%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-custom-behaviour-context-receiver/index.html"><span>Custom</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1892390839%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">typealias </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-receiver/index.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-receiver/index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span><span class="token keyword">suspend </span><a href="-custom-behaviour-context-receiver/index.html">BC</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="-custom-behaviour-context-receiver/index.html">T</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1252781460%2FClasslikes%2F444310150" anchor-label="DefaultBehaviourContext" id="1252781460%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-default-behaviour-context/index.html"><span>Default</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1252781460%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">class </span><a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">val </span>bot<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">val </span>scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">broadcastChannelsSize<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html">Int</a><span class="token operator"> = </span><span class="token constant">100</span><span class="token punctuation">, </span></span><span class="parameter ">onBufferOverflow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.channels/BufferOverflow///PointingToDeclaration/">BufferOverflow</span><span class="token operator"> = </span>BufferOverflow.SUSPEND<span class="token punctuation">, </span></span><span class="parameter ">upstreamUpdatesFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">val </span>triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>TriggersHolder()<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">val </span>data<span class="token operator">: </span><a href="-behaviour-context-data/index.html">BehaviourContextData</a><span class="token operator"> = </span>BehaviourContextData()<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">val </span>subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}</span></span><span class="token punctuation">)</span> : <a href="../dev.inmo.tgbotapi.updateshandlers/-abstract-flows-updates-filter/index.html">AbstractFlowsUpdatesFilter</a>, <a href="../dev.inmo.tgbotapi.bot/-requests-executor/index.html">RequestsExecutor</a>, <span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span>, <a href="-behaviour-context/index.html">BehaviourContext</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-621405132%2FClasslikes%2F444310150" anchor-label="DefaultBehaviourContextWithFSM" id="-621405132%2FClasslikes%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-default-behaviour-context-with-f-s-m/index.html"><span>Default</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>With</span><wbr></wbr><span><span>FSM</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-621405132%2FClasslikes%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">class </span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">behaviourContext<span class="token operator">: </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">handlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token punctuation">, </span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">val </span>stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()</span></span><span class="token punctuation">)</span> : <a href="-behaviour-context/index.html">BehaviourContext</a>, <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">T</a><span class="token operator">&gt; </span></div><div class="brief "><p class="paragraph">Default realization of <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. It uses <span data-unresolved-link="dev.inmo.tgbotapi.extensions.behaviour_builder/DefaultBehaviourContextWithFSM//#dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext#dev.inmo.micro_utils.fsm.common.StatesManager[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]#kotlin.collections.List[dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourWithFSMStateHandlerHolder[*,TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]]#dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourWithFSMStateHandlerHolder[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State]),TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])]?#kotlin.coroutines.SuspendFunction2[dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextWithFSM[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])],TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State]),kotlin.Unit]#kotlin.coroutines.SuspendFunction2[TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State]),kotlin.Throwable,TypeParam(bounds=[dev.inmo.micro_utils.fsm.common.State])?]/PointingToCallableParameters(0)/">behaviourContext</span> as a base for this object as <a href="-behaviour-context/index.html">BehaviourContext</a>, but managing substates contexts updates for avoiding of updates lost between states</p></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="PROPERTY">
<h2 class="tableheader">Properties</h2>
<div class="table"><a data-name="1805865768%2FProperties%2F-2038737062" anchor-label="defaultCoroutineScopeProvider" id="1805865768%2FProperties%2F-2038737062" data-filterable-set=":docs/commonMain,:docs/jsMain,:docs/jvmMain"></a>
<div class="table-row table-row_content" data-filterable-current=":docs/commonMain,:docs/jsMain,:docs/jvmMain" data-filterable-set=":docs/commonMain,:docs/jsMain,:docs/jvmMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="default-coroutine-scope-provider.html"><span>default</span><wbr></wbr><span>Coroutine</span><wbr></wbr><span>Scope</span><wbr></wbr><span><span>Provider</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1805865768%2FProperties%2F-2038737062"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted with-platform-tabs" data-platform-hinted="data-platform-hinted">
<div class="platform-bookmarks-row" data-toggle-list="data-toggle-list"><button class="platform-bookmark" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain" data-active="" data-toggle=":docs/commonMain">common</button><button class="platform-bookmark" data-filterable-current=":docs/jsMain" data-filterable-set=":docs/jsMain" data-toggle=":docs/jsMain">js</button><button class="platform-bookmark" data-filterable-current=":docs/jvmMain" data-filterable-set=":docs/jvmMain" data-toggle=":docs/jvmMain">jvm</button></div>
<div class="content sourceset-dependent-content" data-active="" data-togglable=":docs/commonMain"><div class="symbol monospace"><span class="token keyword">expect </span><span class="token keyword">var </span><a href="default-coroutine-scope-provider.html">defaultCoroutineScopeProvider</a><span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></div><div class="brief "><p class="paragraph">This function is used in <a href="build-behaviour.html">buildBehaviour</a> extensions to provide default <span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span> and allow to avoid all unnecessary parameters except of block</p></div></div><div class="content sourceset-dependent-content" data-togglable=":docs/jsMain"><div class="symbol monospace"><span class="token keyword">actual </span><span class="token keyword">var </span><a href="default-coroutine-scope-provider.html">defaultCoroutineScopeProvider</a><span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></div><div class="brief "><p class="paragraph">This function is used in <span data-unresolved-link="dev.inmo.tgbotapi.extensions.behaviour_builder//buildBehaviour/dev.inmo.tgbotapi.bot.RequestsExecutor#dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter#kotlinx.coroutines.CoroutineScope#kotlin.coroutines.SuspendFunction1[kotlin.Throwable,kotlin.Unit]?#kotlin.coroutines.SuspendFunction2[dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext,dev.inmo.tgbotapi.types.update.abstracts.Update,kotlin.Unit]#kotlin.Boolean#kotlin.coroutines.SuspendFunction1[dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext,kotlin.Unit]/PointingToDeclaration/">buildBehaviour</span> extensions to provide default <span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span> and allow to avoid all unnecessary parameters except of block</p></div></div><div class="content sourceset-dependent-content" data-togglable=":docs/jvmMain"><div class="symbol monospace"><span class="token keyword">actual </span><span class="token keyword">var </span><a href="default-coroutine-scope-provider.html">defaultCoroutineScopeProvider</a><span class="token operator">: </span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span></div><div class="brief "><p class="paragraph">This function is used in <a href="build-behaviour.html">buildBehaviour</a> extensions to provide default <span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span> and allow to avoid all unnecessary parameters except of block</p></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-togglable="FUNCTION">
<h2 class="tableheader">Functions</h2>
<div class="table"><a data-name="581293077%2FFunctions%2F444310150" anchor-label="asAction" id="581293077%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="as-action.html"><span>as</span><wbr></wbr><span><span>Action</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="581293077%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="as-action.html">T</a><span class="token operator">&gt; </span><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="as-action.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><a href="as-action.html"><span class="token function">asAction</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/DeferredAction///PointingToDeclaration/">DeferredAction</span><span class="token operator">&lt;</span><a href="as-action.html">T</a><span class="token punctuation">, </span><a href="as-action.html">T</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="316566012%2FFunctions%2F444310150" anchor-label="BehaviourContext" id="316566012%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context.html"><span>Behaviour</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="316566012%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><a href="-behaviour-context.html"><span class="token function">BehaviourContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">bot<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">flowsUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token operator"> = </span>FlowsUpdatesFilter()<span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>TriggersHolder()<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a></div><div class="symbol monospace"><span class="token keyword">fun </span><a href="-behaviour-context.html"><span class="token function">BehaviourContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">bot<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">upstreamUpdatesFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>TriggersHolder()<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a></div><div class="symbol monospace"><span class="token keyword">inline </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="-behaviour-context.html">T</a><span class="token operator">&gt; </span><a href="-behaviour-context.html"><span class="token function">BehaviourContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">bot<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">flowsUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token operator"> = </span>FlowsUpdatesFilter()<span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>TriggersHolder()<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">crossinline </span>block<span class="token operator">: </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="-behaviour-context.html">T</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context.html">T</a></div><div class="symbol monospace"><span class="token keyword">inline </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="-behaviour-context.html">T</a><span class="token operator">&gt; </span><a href="-behaviour-context.html"><span class="token function">BehaviourContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">bot<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token punctuation">, </span></span><span class="parameter ">upstreamUpdatesFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>TriggersHolder()<span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">noinline </span>subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter "><span class="token keyword">crossinline </span>block<span class="token operator">: </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="-behaviour-context.html">T</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context.html">T</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1655108055%2FFunctions%2F444310150" anchor-label="BehaviourContextAndTwoTypesReceiver" id="-1655108055%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-and-two-types-receiver.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Two</span><wbr></wbr><span>Types</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1655108055%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-behaviour-context-and-two-types-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I1</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I2</a><span class="token operator">&gt; </span><a href="-behaviour-context-and-two-types-receiver.html"><span class="token function">BehaviourContextAndTwoTypesReceiver</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">noinline </span>block<span class="token operator">: </span><a href="-behaviour-context-and-two-types-receiver/index.html">BehaviourContextAndTwoTypesReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-two-types-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I1</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I2</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context-and-two-types-receiver/index.html">BehaviourContextAndTwoTypesReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-two-types-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I1</a><span class="token punctuation">, </span><a href="-behaviour-context-and-two-types-receiver.html">I2</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1360016445%2FFunctions%2F444310150" anchor-label="BehaviourContextAndTypeReceiver" id="1360016445%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-and-type-receiver.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Type</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1360016445%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt; </span><a href="-behaviour-context-and-type-receiver.html"><span class="token function">BehaviourContextAndTypeReceiver</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">noinline </span>block<span class="token operator">: </span><a href="-behaviour-context-and-type-receiver/index.html">BehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context-and-type-receiver/index.html">BehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1838350601%2FFunctions%2F444310150" anchor-label="BehaviourContextReceiver" id="1838350601%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-context-receiver.html"><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1838350601%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-behaviour-context-receiver.html">T</a><span class="token operator">&gt; </span><a href="-behaviour-context-receiver.html"><span class="token function">BehaviourContextReceiver</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">noinline </span>block<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-receiver.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-receiver.html">T</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-70742833%2FFunctions%2F444310150" anchor-label="BehaviourWithFSMStateHandlerHolder" id="-70742833%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-behaviour-with-f-s-m-state-handler-holder.html"><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span>FSMState</span><wbr></wbr><span>Handler</span><wbr></wbr><span><span>Holder</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-70742833%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder.html">I</a><span class="token operator"> : </span><a href="-behaviour-with-f-s-m-state-handler-holder.html">O</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder.html">O</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="-behaviour-with-f-s-m-state-handler-holder.html"><span class="token function">BehaviourWithFSMStateHandlerHolder</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">strict<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">delegateTo<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder.html">I</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="-behaviour-with-f-s-m-state-handler-holder.html">I</a><span class="token punctuation">, </span><a href="-behaviour-with-f-s-m-state-handler-holder.html">O</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="4010460%2FFunctions%2F444310150" anchor-label="buildBehaviour" id="4010460%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="build-behaviour.html"><span>build</span><wbr></wbr><span><span>Behaviour</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="4010460%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour.html"><span class="token function">buildBehaviour</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">flowUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token operator"> = </span>FlowsUpdatesFilter()<span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-behaviour-context/index.html">BehaviourContext</a></div><div class="brief "><p class="paragraph">Use this method in case you wish to make some additional actions with <a href="build-behaviour.html">flowUpdatesFilter</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="752766799%2FFunctions%2F444310150" anchor-label="buildBehaviourWithFSM" id="752766799%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="build-behaviour-with-f-s-m.html"><span>build</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span><span>FSM</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="752766799%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour-with-f-s-m.html"><span class="token function">buildBehaviourWithFSM</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">flowUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Creates <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a> via creating of <a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a> with <a href="../dev.inmo.tgbotapi.bot/-requests-executor/index.html">this</a> as <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a>, <a href="build-behaviour-with-f-s-m.html">scope</a> as target scope for that <a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a> and <a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/all-updates-flow.html">FlowsUpdatesFilter.allUpdatesFlow</a> of <a href="build-behaviour-with-f-s-m.html">flowUpdatesFilter</a> as <span data-unresolved-link="dev.inmo.tgbotapi.extensions.behaviour_builder/DefaultBehaviourContext/upstreamUpdatesFlow/#/PointingToDeclaration/">DefaultBehaviourContext.upstreamUpdatesFlow</span>. Pass <a href="build-behaviour-with-f-s-m.html">statesManager</a> to customize some internal logic of states changes. Pass <a href="build-behaviour-with-f-s-m.html">presetHandlers</a> in case you have some list of <a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a> with presets. Use this method in case you wish to make some additional actions with <a href="build-behaviour-with-f-s-m.html">flowUpdatesFilter</a>.</p></div><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour-with-f-s-m.html"><span class="token function">buildBehaviourWithFSM</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">upstreamUpdatesFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m.html">T</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Creates <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a> via creating of <a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a> with <a href="../dev.inmo.tgbotapi.bot/-requests-executor/index.html">this</a> as <a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a>, <a href="build-behaviour-with-f-s-m.html">scope</a> as target scope for that <a href="-default-behaviour-context/index.html">DefaultBehaviourContext</a> and <a href="build-behaviour-with-f-s-m.html">upstreamUpdatesFlow</a>. Pass <a href="build-behaviour-with-f-s-m.html">statesManager</a> to customize some internal logic of states changes. Pass <a href="build-behaviour-with-f-s-m.html">presetHandlers</a> in case you have some list of <a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a> with presets.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-785993118%2FFunctions%2F444310150" anchor-label="buildBehaviourWithFSMAndStartLongPolling" id="-785993118%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="build-behaviour-with-f-s-m-and-start-long-polling.html"><span>build</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span>FSMAnd</span><wbr></wbr><span>Start</span><wbr></wbr><span>Long</span><wbr></wbr><span><span>Polling</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-785993118%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html"><span class="token function">buildBehaviourWithFSMAndStartLongPolling</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span></div><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html"><span class="token function">buildBehaviourWithFSMAndStartLongPolling</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">upstreamUpdatesFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="build-behaviour-with-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Use <a href="build-behaviour-with-f-s-m.html">buildBehaviourWithFSM</a> to create <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a> and launch getting of updates using <a href="../dev.inmo.tgbotapi.extensions.utils.updates.retrieving/long-polling.html">longPolling</a>. For <a href="../dev.inmo.tgbotapi.extensions.utils.updates.retrieving/long-polling.html">longPolling</a> will be used result <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a> for both parameters flowsUpdatesFilter and scope</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1598073880%2FFunctions%2F444310150" anchor-label="buildBehaviourWithLongPolling" id="-1598073880%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="build-behaviour-with-long-polling.html"><span>build</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>With</span><wbr></wbr><span>Long</span><wbr></wbr><span><span>Polling</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1598073880%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">.</span><a href="build-behaviour-with-long-polling.html"><span class="token function">buildBehaviourWithLongPolling</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>defaultCoroutineScopeProvider()<span class="token punctuation">, </span></span><span class="parameter ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span></div><div class="brief "><p class="paragraph">Use this method to build bot behaviour and run it via long polling. In case you wish to get <a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a> for additional manipulations, you must provide external <a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a> in other <a href="build-behaviour.html">buildBehaviour</a> function.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1234153078%2FFunctions%2F444310150" anchor-label="buildSubcontextInitialAction" id="1234153078%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="build-subcontext-initial-action.html"><span>build</span><wbr></wbr><span>Subcontext</span><wbr></wbr><span>Initial</span><wbr></wbr><span><span>Action</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1234153078%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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="build-subcontext-initial-action.html"><span class="token function">buildSubcontextInitialAction</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">block<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html">MutableList</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token punctuation">.</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></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Build <a href="-combined-subcontext-initial-action/index.html">CombinedSubcontextInitialAction</a> with <a href="build-subcontext-initial-action.html">block</a> and return callback, which appropriate for <a href="-behaviour-context/index.html">BehaviourContext</a> builders with <code class="lang-kotlin">subcontextInitialAction</code> argument</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1896044094%2FFunctions%2F444310150" anchor-label="buildSubcontextInitialActionWithSubActions" id="-1896044094%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="build-subcontext-initial-action-with-sub-actions.html"><span>build</span><wbr></wbr><span>Subcontext</span><wbr></wbr><span>Initial</span><wbr></wbr><span>Action</span><wbr></wbr><span>With</span><wbr></wbr><span>Sub</span><wbr></wbr><span><span>Actions</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1896044094%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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="build-subcontext-initial-action-with-sub-actions.html"><span class="token function">buildSubcontextInitialActionWithSubActions</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">block<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html">MutableList</a><span class="token operator">&lt;</span><a href="-combined-subcontext-initial-action/-sub-action/index.html">CombinedSubcontextInitialAction.SubAction</a><span class="token operator">&gt;</span><span class="token punctuation">.</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></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Build <a href="-combined-subcontext-initial-action/index.html">CombinedSubcontextInitialAction</a> with <a href="build-subcontext-initial-action-with-sub-actions.html">block</a> and return callback, which appropriate for <a href="-behaviour-context/index.html">BehaviourContext</a> builders with <code class="lang-kotlin">subcontextInitialAction</code> argument</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1946556865%2FFunctions%2F444310150" anchor-label="createSubContext" id="-1946556865%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="create-sub-context.html"><span>create</span><wbr></wbr><span>Sub</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1946556865%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="create-sub-context.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="create-sub-context.html">BC</a><span class="token punctuation">.</span><a href="create-sub-context.html"><span class="token function">createSubContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>LinkedSupervisorScope()<span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>this.triggersHolder<span class="token punctuation">, </span></span><span class="parameter ">updatesUpstreamFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>allUpdatesFlow<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="create-sub-context.html">BC</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>this.subcontextInitialAction</span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="create-sub-context.html">BC</a></div><div class="brief "><p class="paragraph">Creates new <a href="-behaviour-context/index.html">BehaviourContext</a> using its <a href="-behaviour-context/copy.html">BehaviourContext.copy</a> method</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-779177718%2FFunctions%2F444310150" anchor-label="createSubContextAndDoAsynchronouslyWithUpdatesFilter" id="-779177718%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html"><span>create</span><wbr></wbr><span>Sub</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Do</span><wbr></wbr><span>Asynchronously</span><wbr></wbr><span>With</span><wbr></wbr><span>Updates</span><wbr></wbr><span><span>Filter</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-779177718%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">T</a><span class="token punctuation">, </span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">BC</a><span class="token punctuation">.</span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html"><span class="token function">createSubContextAndDoAsynchronouslyWithUpdatesFilter</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>this.triggersHolder<span class="token punctuation">, </span></span><span class="parameter ">updatesUpstreamFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>allUpdatesFlow<span class="token punctuation">, </span></span><span class="parameter ">context<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines/-coroutine-context/index.html">CoroutineContext</a><span class="token operator"> = </span>EmptyCoroutineContext<span class="token punctuation">, </span></span><span class="parameter ">start<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineStart///PointingToDeclaration/">CoroutineStart</span><span class="token operator"> = </span>CoroutineStart.DEFAULT<span class="token punctuation">, </span></span><span class="parameter ">additionalSubcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">behaviourContextReceiver<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">BC</a><span class="token punctuation">, </span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="create-sub-context-and-do-asynchronously-with-updates-filter.html">T</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Uses <a href="create-sub-context-and-do-synchronously-with-updates-filter.html">createSubContextAndDoSynchronouslyWithUpdatesFilter</a>, but wrapping it in <span data-unresolved-link="kotlinx.coroutines//async/kotlinx.coroutines.CoroutineScope#kotlin.coroutines.CoroutineContext#kotlinx.coroutines.CoroutineStart#kotlin.coroutines.SuspendFunction1[kotlinx.coroutines.CoroutineScope,TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/">async</span>. That means, that execution of this function will be <strong>asynchronous</strong> and <strong>will not</strong> block execution of code by default</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1989709010%2FFunctions%2F444310150" anchor-label="createSubContextAndDoSynchronouslyWithUpdatesFilter" id="-1989709010%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="create-sub-context-and-do-synchronously-with-updates-filter.html"><span>create</span><wbr></wbr><span>Sub</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Do</span><wbr></wbr><span>Synchronously</span><wbr></wbr><span>With</span><wbr></wbr><span>Updates</span><wbr></wbr><span><span>Filter</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1989709010%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">T</a><span class="token punctuation">, </span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">BC</a><span class="token punctuation">.</span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html"><span class="token function">createSubContextAndDoSynchronouslyWithUpdatesFilter</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>this.triggersHolder<span class="token punctuation">, </span></span><span class="parameter ">updatesUpstreamFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>allUpdatesFlow<span class="token punctuation">, </span></span><span class="parameter ">additionalSubcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">behaviourContextReceiver<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">BC</a><span class="token punctuation">, </span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="create-sub-context-and-do-synchronously-with-updates-filter.html">T</a></div><div class="brief "><p class="paragraph">Creates new one <a href="-behaviour-context/index.html">BehaviourContext</a> using <a href="create-sub-context.html">createSubContext</a> and launches <a href="create-sub-context-and-do-synchronously-with-updates-filter.html">behaviourContextReceiver</a> in a new context using <a href="do-in-context.html">doInContext</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1994435273%2FFunctions%2F444310150" anchor-label="CustomBehaviourContextAndTypeReceiver" id="1994435273%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-custom-behaviour-context-and-type-receiver.html"><span>Custom</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span>And</span><wbr></wbr><span>Type</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1994435273%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-type-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt; </span><a href="-custom-behaviour-context-and-type-receiver.html"><span class="token function">CustomBehaviourContextAndTypeReceiver</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">noinline </span>block<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-type-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-and-type-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">T</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-and-type-receiver.html">I</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-807112361%2FFunctions%2F444310150" anchor-label="CustomBehaviourContextReceiver" id="-807112361%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="-custom-behaviour-context-receiver.html"><span>Custom</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>Context</span><wbr></wbr><span><span>Receiver</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-807112361%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="-custom-behaviour-context-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-receiver.html">T</a><span class="token operator">&gt; </span><a href="-custom-behaviour-context-receiver.html"><span class="token function">CustomBehaviourContextReceiver</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">noinline </span>block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-receiver.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-custom-behaviour-context-receiver.html">BC</a><span class="token punctuation">, </span><a href="-custom-behaviour-context-receiver.html">T</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1029420960%2FFunctions%2F444310150" anchor-label="doInContext" id="-1029420960%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="do-in-context.html"><span>do</span><wbr></wbr><span>In</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1029420960%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="do-in-context.html">T</a><span class="token punctuation">, </span><a href="do-in-context.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="do-in-context.html">BC</a><span class="token punctuation">.</span><a href="do-in-context.html"><span class="token function">doInContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">behaviourContextReceiver<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="do-in-context.html">BC</a><span class="token punctuation">, </span><a href="do-in-context.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="do-in-context.html">T</a></div><div class="brief "><p class="paragraph">Launch <a href="do-in-context.html">behaviourContextReceiver</a> in context of <a href="do-in-context.html">this</a> as <a href="-behaviour-context/index.html">BehaviourContext</a> and as <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines/-coroutine-context/index.html">CoroutineContext</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-369500974%2FFunctions%2F444310150" anchor-label="doInNewSubContext" id="-369500974%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="do-in-new-sub-context.html"><span>do</span><wbr></wbr><span>In</span><wbr></wbr><span>New</span><wbr></wbr><span>Sub</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-369500974%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="do-in-new-sub-context.html">T</a><span class="token punctuation">, </span><a href="do-in-new-sub-context.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="do-in-new-sub-context.html">BC</a><span class="token punctuation">.</span><a href="do-in-new-sub-context.html"><span class="token function">doInNewSubContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>LinkedSupervisorScope()<span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>this.triggersHolder<span class="token punctuation">, </span></span><span class="parameter ">updatesUpstreamFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>allUpdatesFlow<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="do-in-new-sub-context.html">BC</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>this.subcontextInitialAction<span class="token punctuation">, </span></span><span class="parameter ">behaviourContextReceiver<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="do-in-new-sub-context.html">BC</a><span class="token punctuation">, </span><a href="do-in-new-sub-context.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="do-in-new-sub-context.html">T</a></div><div class="brief "><p class="paragraph">Launch <a href="do-in-new-sub-context.html">behaviourContextReceiver</a> in context of <a href="do-in-new-sub-context.html">this</a> as <a href="-behaviour-context/index.html">BehaviourContext</a> and as <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines/-coroutine-context/index.html">CoroutineContext</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="291428695%2FFunctions%2F444310150" anchor-label="fsmOrNull" id="291428695%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="fsm-or-null.html"><span>fsm</span><wbr></wbr><span>Or</span><wbr></wbr><span><span>Null</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="291428695%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="fsm-or-null.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="fsm-or-null.html"><span class="token function">fsmOrNull</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span><span class="token operator">&lt;</span><a href="fsm-or-null.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span></div><div class="brief "><p class="paragraph">Extracting from <a href="-behaviour-context/data.html">BehaviourContext.data</a> exists <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span> by key <a href="-behaviour-context-with-f-s-m/-companion/-d-a-t-a_-f-s-m_-k-e-y.html">DATA_FSM_KEY</a>, which usually some <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. In case if value absent in <a href="-behaviour-context/data.html">BehaviourContext.data</a> will return null</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-277088286%2FFunctions%2F444310150" anchor-label="fsmOrThrow" id="-277088286%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="fsm-or-throw.html"><span>fsm</span><wbr></wbr><span>Or</span><wbr></wbr><span><span>Throw</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-277088286%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="fsm-or-throw.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="fsm-or-throw.html"><span class="token function">fsmOrThrow</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span><span class="token operator">&lt;</span><a href="fsm-or-throw.html">T</a><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Extracting from <a href="-behaviour-context/data.html">BehaviourContext.data</a> exists <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesMachine///PointingToDeclaration/">StatesMachine</span> by key <a href="-behaviour-context-with-f-s-m/-companion/-d-a-t-a_-f-s-m_-k-e-y.html">DATA_FSM_KEY</a>, which usually some <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. In case if value absent in <a href="-behaviour-context/data.html">BehaviourContext.data</a> will throw <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-null-pointer-exception/index.html">NullPointerException</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1966040278%2FFunctions%2F444310150" anchor-label="launchInNewSubContext" id="-1966040278%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="launch-in-new-sub-context.html"><span>launch</span><wbr></wbr><span>In</span><wbr></wbr><span>New</span><wbr></wbr><span>Sub</span><wbr></wbr><span><span>Context</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1966040278%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="launch-in-new-sub-context.html">T</a><span class="token punctuation">, </span><a href="launch-in-new-sub-context.html">BC</a><span class="token operator"> : </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token operator">&gt; </span><a href="launch-in-new-sub-context.html">BC</a><span class="token punctuation">.</span><a href="launch-in-new-sub-context.html"><span class="token function">launchInNewSubContext</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator"> = </span>LinkedSupervisorScope()<span class="token punctuation">, </span></span><span class="parameter ">triggersHolder<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar/-triggers-holder/index.html">TriggersHolder</a><span class="token operator"> = </span>this.triggersHolder<span class="token punctuation">, </span></span><span class="parameter ">updatesUpstreamFlow<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines.flow/Flow///PointingToDeclaration/">Flow</span><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>allUpdatesFlow<span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="launch-in-new-sub-context.html">BC</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>this.subcontextInitialAction<span class="token punctuation">, </span></span><span class="parameter ">behaviourContextReceiver<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="launch-in-new-sub-context.html">BC</a><span class="token punctuation">, </span><a href="launch-in-new-sub-context.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span></div><div class="brief "><p class="paragraph">Launch <a href="launch-in-new-sub-context.html">behaviourContextReceiver</a> in context of <a href="launch-in-new-sub-context.html">this</a> as <a href="-behaviour-context/index.html">BehaviourContext</a> and as <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.coroutines/-coroutine-context/index.html">CoroutineContext</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1547376728%2FFunctions%2F444310150" anchor-label="oneOf" id="-1547376728%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="one-of.html"><span>one</span><wbr></wbr><span><span>Of</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1547376728%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="one-of.html">O</a><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="one-of.html"><span class="token function">oneOf</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">deferredActions<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><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="one-of.html">O</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="one-of.html">O</a></div><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="one-of.html">O</a><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="one-of.html"><span class="token function">oneOf</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">vararg </span>deferredActions<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="one-of.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="one-of.html">O</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="997566670%2FFunctions%2F444310150" anchor-label="oneOfActions" id="997566670%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="one-of-actions.html"><span>one</span><wbr></wbr><span>Of</span><wbr></wbr><span><span>Actions</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="997566670%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="one-of-actions.html">O</a><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="one-of-actions.html"><span class="token function">oneOfActions</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">deferredActions<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><span data-unresolved-link="dev.inmo.micro_utils.coroutines/DeferredAction///PointingToDeclaration/">DeferredAction</span><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="one-of-actions.html">O</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="one-of-actions.html">O</a></div><div class="symbol monospace"><span class="token keyword">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="one-of-actions.html">O</a><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="one-of-actions.html"><span class="token function">oneOfActions</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter "><span class="token keyword">vararg </span>deferredActions<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/DeferredAction///PointingToDeclaration/">DeferredAction</span><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="one-of-actions.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="one-of-actions.html">O</a></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-962940286%2FFunctions%2F444310150" anchor-label="onStateOrSubstate" id="-962940286%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="on-state-or-substate.html"><span>on</span><wbr></wbr><span>State</span><wbr></wbr><span>Or</span><wbr></wbr><span><span>Substate</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-962940286%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="on-state-or-substate.html">I</a><span class="token operator"> : </span><a href="on-state-or-substate.html">O</a><span class="token punctuation">, </span><a href="on-state-or-substate.html">O</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="on-state-or-substate.html">O</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><a href="on-state-or-substate.html"><span class="token function">onStateOrSubstate</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">handler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="on-state-or-substate.html">I</a><span class="token punctuation">, </span><a href="on-state-or-substate.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Add NON STRICT <a href="on-state-or-substate.html">handler</a> to list of available in future <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. Non strict means that for input <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span> will be used <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/is-instance.html">KClass.isInstance</a> and any inheritor of I::class will pass this requirement</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-1371839354%2FFunctions%2F444310150" anchor-label="parallel" id="-1371839354%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="parallel.html"><span><span>parallel</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1371839354%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><span class="token operator">&lt;</span><a href="parallel.html">T</a><span class="token operator">&gt; </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="parallel.html"><span class="token function">parallel</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">action<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="parallel.html">T</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="parallel.html">T</a><span class="token operator">&gt;</span></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="67254337%2FFunctions%2F444310150" anchor-label="stop" id="67254337%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="stop.html"><span><span>stop</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="67254337%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">fun </span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">.</span><a href="stop.html"><span class="token function">stop</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">This method will cancel ALL subsequent contexts, expectations and waiters</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="2139316995%2FFunctions%2F444310150" anchor-label="strictlyOn" id="2139316995%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="strictly-on.html"><span>strictly</span><wbr></wbr><span><span>On</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="2139316995%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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><span class="token operator">&lt;</span><a href="strictly-on.html">I</a><span class="token operator"> : </span><a href="strictly-on.html">O</a><span class="token punctuation">, </span><a href="strictly-on.html">O</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="strictly-on.html">O</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><a href="strictly-on.html"><span class="token function">strictlyOn</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">handler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler/index.html">BehaviourWithFSMStateHandler</a><span class="token operator">&lt;</span><a href="strictly-on.html">I</a><span class="token punctuation">, </span><a href="strictly-on.html">O</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Add STRICT <a href="strictly-on.html">handler</a> to list of available in future <a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a>. Strict means that for input <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span> will be used <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span>::class == I::class and any <span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span> with exactly the same type will pass requirements</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1374309880%2FFunctions%2F444310150" anchor-label="telegramBotWithBehaviour" id="1374309880%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="telegram-bot-with-behaviour.html"><span>telegram</span><wbr></wbr><span>Bot</span><wbr></wbr><span>With</span><wbr></wbr><span><span>Behaviour</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1374309880%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><a href="telegram-bot-with-behaviour.html"><span class="token function">telegramBotWithBehaviour</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">token<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">flowsUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token operator"> = </span>FlowsUpdatesFilter()<span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">apiUrl<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span>telegramBotAPIDefaultUrl<span class="token punctuation">, </span></span><span class="parameter ">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><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 ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">testServer<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">fileLinkUrlMapper<span class="token operator">: </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 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/-string/index.html">String</a><span class="token operator"> = </span>{ &quot;${fileBaseUrl}/$it&quot; }<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a></div><div class="brief "><p class="paragraph">Create bot using <a href="../dev.inmo.tgbotapi.bot.ktor/telegram-bot.html">telegramBot</a> and start listening for updates using <a href="build-behaviour.html">buildBehaviour</a>. Use this method in case you wish to make some additional actions with <a href="telegram-bot-with-behaviour.html">flowsUpdatesFilter</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-89812332%2FFunctions%2F444310150" anchor-label="telegramBotWithBehaviourAndFSM" id="-89812332%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="telegram-bot-with-behaviour-and-f-s-m.html"><span>telegram</span><wbr></wbr><span>Bot</span><wbr></wbr><span>With</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>And</span><wbr></wbr><span><span>FSM</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-89812332%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="telegram-bot-with-behaviour-and-f-s-m.html"><span class="token function">telegramBotWithBehaviourAndFSM</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">token<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">flowsUpdatesFilter<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.updateshandlers/-flows-updates-filter/index.html">FlowsUpdatesFilter</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">apiUrl<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span>telegramBotAPIDefaultUrl<span class="token punctuation">, </span></span><span class="parameter ">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><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 ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">testServer<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">fileLinkUrlMapper<span class="token operator">: </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 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/-string/index.html">String</a><span class="token operator"> = </span>{ &quot;${fileBaseUrl}/$it&quot; }<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a></div><div class="brief "><p class="paragraph">Create bot using <a href="../dev.inmo.tgbotapi.bot.ktor/telegram-bot.html">telegramBot</a> and start listening for updates using <a href="build-behaviour-with-f-s-m.html">buildBehaviourWithFSM</a>. Use this method in case you wish to make some additional actions with <a href="telegram-bot-with-behaviour-and-f-s-m.html">flowsUpdatesFilter</a>.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="1633386225%2FFunctions%2F444310150" anchor-label="telegramBotWithBehaviourAndFSMAndStartLongPolling" id="1633386225%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html"><span>telegram</span><wbr></wbr><span>Bot</span><wbr></wbr><span>With</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>And</span><wbr></wbr><span>FSMAnd</span><wbr></wbr><span>Start</span><wbr></wbr><span>Long</span><wbr></wbr><span><span>Polling</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1633386225%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator"> : </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/State///PointingToDeclaration/">State</span><span class="token operator">&gt; </span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html"><span class="token function">telegramBotWithBehaviourAndFSMAndStartLongPolling</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">token<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">apiUrl<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span>telegramBotAPIDefaultUrl<span class="token punctuation">, </span></span><span class="parameter ">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><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 ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">statesManager<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common/StatesManager///PointingToDeclaration/">StatesManager</span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>DefaultStatesManager(InMemoryDefaultStatesManagerRepo())<span class="token punctuation">, </span></span><span class="parameter ">presetHandlers<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="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><span class="token operator">*</span><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">&gt;</span><span class="token operator"> = </span>listOf()<span class="token punctuation">, </span></span><span class="parameter ">fallbackHandler<span class="token operator">: </span><a href="-behaviour-with-f-s-m-state-handler-holder/index.html">BehaviourWithFSMStateHandlerHolder</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">testServer<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">onStateHandlingErrorHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.fsm.common.utils/StateHandlingErrorHandler///PointingToDeclaration/">StateHandlingErrorHandler</span><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>defaultStateHandlingErrorHandler()<span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">stateInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context-with-f-s-m/index.html">BehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">fileLinkUrlMapper<span class="token operator">: </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 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/-string/index.html">String</a><span class="token operator"> = </span>{ &quot;${fileBaseUrl}/$it&quot; }<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-custom-behaviour-context-receiver/index.html">CustomBehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="-default-behaviour-context-with-f-s-m/index.html">DefaultBehaviourContextWithFSM</a><span class="token operator">&lt;</span><a href="telegram-bot-with-behaviour-and-f-s-m-and-start-long-polling.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Create bot using <a href="../dev.inmo.tgbotapi.bot.ktor/telegram-bot.html">telegramBot</a> and start listening for updates using <a href="build-behaviour-with-f-s-m-and-start-long-polling.html">buildBehaviourWithFSMAndStartLongPolling</a>. This method will launch updates retrieving via long polling inside of <a href="build-behaviour-with-f-s-m-and-start-long-polling.html">buildBehaviourWithFSMAndStartLongPolling</a></p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="-957970607%2FFunctions%2F444310150" anchor-label="telegramBotWithBehaviourAndLongPolling" id="-957970607%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<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><a href="telegram-bot-with-behaviour-and-long-polling.html"><span>telegram</span><wbr></wbr><span>Bot</span><wbr></wbr><span>With</span><wbr></wbr><span>Behaviour</span><wbr></wbr><span>And</span><wbr></wbr><span>Long</span><wbr></wbr><span><span>Polling</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-957970607%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">suspend </span><span class="token keyword">fun </span><a href="telegram-bot-with-behaviour-and-long-polling.html"><span class="token function">telegramBotWithBehaviourAndLongPolling</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">token<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">, </span></span><span class="parameter ">scope<span class="token operator">: </span><span data-unresolved-link="kotlinx.coroutines/CoroutineScope///PointingToDeclaration/">CoroutineScope</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">apiUrl<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html">String</a><span class="token operator"> = </span>telegramBotAPIDefaultUrl<span class="token punctuation">, </span></span><span class="parameter ">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><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 ">defaultExceptionsHandler<span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/ExceptionHandler///PointingToDeclaration/">ExceptionHandler</span><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span><span class="token operator">?</span><span class="token operator"> = </span>null<span class="token punctuation">, </span></span><span class="parameter ">testServer<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">false</span><span class="token punctuation">, </span></span><span class="parameter ">timeoutSeconds<span class="token operator">: </span><a href="../dev.inmo.tgbotapi.types/-seconds/index.html">Seconds</a><span class="token operator"> = </span><span class="token constant">30</span><span class="token punctuation">, </span></span><span class="parameter ">autoDisableWebhooks<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">autoSkipTimeoutExceptions<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">mediaGroupsDebounceTimeMillis<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html">Long</a><span class="token operator">?</span><span class="token operator"> = </span><span class="token constant">1000</span><span class="token punctuation">, </span></span><span class="parameter ">subcontextInitialAction<span class="token operator">: </span><a href="-custom-behaviour-context-and-type-receiver/index.html">CustomBehaviourContextAndTypeReceiver</a><span class="token operator">&lt;</span><a href="-behaviour-context/index.html">BehaviourContext</a><span class="token punctuation">, </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token punctuation">, </span><a href="../dev.inmo.tgbotapi.types.update.abstracts/-update/index.html">Update</a><span class="token operator">&gt;</span><span class="token operator"> = </span>{}<span class="token punctuation">, </span></span><span class="parameter ">fileLinkUrlMapper<span class="token operator">: </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 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/-string/index.html">String</a><span class="token operator"> = </span>{ &quot;${fileBaseUrl}/$it&quot; }<span class="token punctuation">, </span></span><span class="parameter ">useDefaultSubcontextInitialAction<span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a><span class="token operator"> = </span><span class="token boolean">true</span><span class="token punctuation">, </span></span><span class="parameter ">block<span class="token operator">: </span><a href="-behaviour-context-receiver/index.html">BehaviourContextReceiver</a><span class="token operator">&lt;</span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html">Unit</a><span class="token operator">&gt;</span></span></span><span class="token punctuation">)</span><span class="token operator">: </span><a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator">&lt;</span><a href="../dev.inmo.tgbotapi.bot/-telegram-bot/index.html">TelegramBot</a><span class="token punctuation">, </span><span data-unresolved-link="kotlinx.coroutines/Job///PointingToDeclaration/">Job</span><span class="token operator">&gt;</span></div><div class="brief "><p class="paragraph">Create bot using <a href="../dev.inmo.tgbotapi.bot.ktor/telegram-bot.html">telegramBot</a> and start listening for updates using <a href="build-behaviour-with-long-polling.html">buildBehaviourWithLongPolling</a>. Use this method in case you wish to make some additional actions with flowsUpdatesFilter.</p></div></div></div>
</div>
</div>
</div>
</div>
<a data-name="484953640%2FFunctions%2F444310150" anchor-label="withAction" id="484953640%2FFunctions%2F444310150" data-filterable-set=":docs/commonMain"></a>
<div class="table-row table-row_content" data-togglable="EXTENSION_FUNCTION" data-filterable-current=":docs/commonMain" data-filterable-set=":docs/commonMain">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex">
<div><a href="with-action.html"><span>with</span><wbr></wbr><span><span>Action</span></span></a></div>
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="484953640%2FFunctions%2F444310150"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<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">infix </span><span class="token keyword">fun </span><span class="token operator">&lt;</span><a href="with-action.html">T</a><span class="token punctuation">, </span><a href="with-action.html">O</a><span class="token operator">&gt; </span><span data-unresolved-link="kotlinx.coroutines/Deferred///PointingToDeclaration/">Deferred</span><span class="token operator">&lt;</span><a href="with-action.html">T</a><span class="token operator">&gt;</span><span class="token punctuation">.</span><a href="with-action.html"><span class="token function">withAction</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">callback<span class="token operator">: </span><span class="token keyword">suspend </span><span class="token punctuation">(</span><a href="with-action.html">T</a><span class="token punctuation">)</span><span class="token operator"> -&gt; </span><a href="with-action.html">O</a></span></span><span class="token punctuation">)</span><span class="token operator">: </span><span data-unresolved-link="dev.inmo.micro_utils.coroutines/DeferredAction///PointingToDeclaration/">DeferredAction</span><span class="token operator">&lt;</span><a href="with-action.html">T</a><span class="token punctuation">, </span><a href="with-action.html">O</a><span class="token operator">&gt;</span></div></div></div>
</div>
</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>