Egy változó, amit a Változó beállítása vagy Egyenlet futtatása változón állít be, vagy amit később a {{valtozo_neve}} formával olvasol vissza bármely szövegmezőben, kétféleképpen kaphat hatókört.
Globális kontra felhasználói hatókör
A globális változók minden, a botoddal beszélgető felhasználó között meg vannak osztva, egy futó összeg, egy megosztott beállítás. A felhasználói változók ahhoz vannak kötve, aki éppen a beszélgetésben van, minden felhasználó a saját, önálló értékét kapja, hasznos bármi személyeshez: a nevükhöz, egy preferenciájukhoz, ahhoz, hol tartanak egy többlépéses folyamatban.
Beépített változók, Változó beállítása blokk nélkül
Minden folyamat futásnak már a kezdetektől rendelkezésére áll a {{message}} (a bejövő szöveg, vagy egy fotó/dokumentum feliratszövege), a {{userId}}, és a {{chatId}}. Egy bejövő fotó vagy dokumentum által indított futásnak a {{incomingPhotoUrl}}/{{incomingDocumentUrl}} is rendelkezésére áll, egy stabil link a küldött fájlhoz, a botod újra tárolja azt, hogy a link soha ne járjon le, használd egy későbbi blokkban (API kérés küldése, vagy küldd vissza Fotó küldése/Dokumentum küldése blokkal) ugyanúgy, mint bármely más változót. Mindkettő üres, amikor a bejövő üzenet nem ilyen típusú volt.
Beszélgetés felépítése a Várakozás felhasználói bevitelre blokkal
A legtöbb blokk azonnal lefut, és továbblép, de a Várakozás felhasználói bevitelre teljesen szünetelteti a folyamatot, amíg ugyanaz a felhasználó el nem küldi a következő üzenetét, egy általad elnevezett változóba tárolva, majd onnan folytatva. Fűzz össze néhányat ezekből (tegyél fel egy kérdést, várj, tedd fel a következőt), hogy egy valódi, többlépéses beszélgetést építs, mint amikor valaki rendelési adatait gyűjtöd össze egyesével. Az Időtúllépés ágat veszi, ha nem válaszol időben, kösd ezt egy barátságos emlékeztetőhöz vagy egy elegáns kilépéshez, ahelyett hogy bekötetlenül hagynád.
Egy kidolgozott példa
Egy támogatási folyamat elküldhet egy üzenetet, ami rendelési számot kér, Várakozás felhasználói bevitelre az orderNumber változóba, API kérés küldése blokkal utánanéz, majd válaszol az eredménnyel, mindezt egyetlen folyamaton belül, egy olyan paranccsal indítva, mint a /order.
Tipp: Használj Feltétel blokkot, hogy elágazz aszerint, mit írt be egy felhasználó egy Várakozás felhasználói bevitelre blokk után, a {{valtozo_neve}} összehasonlítása a várt válaszokkal így alakítasz egy szabad szöveges választ valódi elágazó logikává.