1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Building Chatbots in Python

Connected

Cvičení

Přechody ve stavu čekání

Někdy je potřeba dočasně odbočit od hlavního tématu konverzace – například ověřit totožnost uživatele – a pak se k němu zase vrátit.

V takových případech bývá jednodušší (a snáze laditelné) uložit některé akce nebo stavy jako čekající (pending), místo aby ses pouštěl/a do stále složitějších pravidel.

Tady nadefinuješ slovník policy_rules, jehož klíče jsou n-tice aktuálního stavu a přijatého záměru a hodnoty jsou n-tice dalšího stavu, odpovědi bota a stavu, pro který se má nastavit čekající přechod.

Pokyny

100 XP
  • Doplň slovník policy_rules tak, že vyplníš hodnoty:
    • Uživatel začíná ve stavu INIT.
    • Pokud je uživatel ve stavu INIT a pokusí se zadat objednávku, požádej ho o číslo a vytvoř čekající přechod do stavu AUTHED.
    • Toto je jediné pravidlo, které vytváří čekající přechod – ostatní pravidla mají hodnotu čekajícího stavu jednoduše None.
  • Stav pending byl přidán jako druhý argument funkce send_message(), která teď vrací nový stav i čekající stav. Zavolej tuto funkci send_message() uvnitř send_messages() a rozbal výstup do proměnných state a pending.
  • Klikni na Submit Answer a pošli zprávy botovi!