1. Nauka
  2. /
  3. Kursy
  4. /
  5. Tworzenie chatbotów w Pythonie

Connected

ćwiczenie

Przejścia stanu oczekującego

Często trzeba chwilowo odbiec od głównego wątku rozmowy – na przykład po to, by uwierzytelnić użytkownika – a następnie wrócić do omawianego tematu.

W takich przypadkach prostszym rozwiązaniem – łatwiejszym też do debugowania – jest zapisanie niektórych akcji i stanów jako oczekujących zamiast dodawania coraz bardziej skomplikowanych reguł.

W tym ćwiczeniu zdefiniujesz słownik policy_rules, w którym kluczami są krotki złożone z bieżącego stanu i odebranego zamiaru, a wartościami – krotki zawierające następny stan, odpowiedź bota oraz stan, dla którego należy ustawić przejście oczekujące.

Instrukcje

100 XP
  • Uzupełnij słownik policy_rules, wypełniając jego wartości:
    • Użytkownik rozpoczyna w stanie INIT.
    • Jeśli użytkownik jest w stanie INIT i próbuje złożyć zamówienie, zapytaj o jego numer i utwórz przejście oczekujące do stanu AUTHED.
    • To jedyna reguła, która tworzy przejście oczekujące – pozostałe mają wartość stanu oczekującego równą None.
  • Stan pending został dodany jako drugi argument funkcji send_message(), która teraz zwraca zarówno nowy stan, jak i stan oczekujący. Wywołaj tę funkcję send_message() wewnątrz send_messages(), rozpakowując wynik do zmiennych state i pending.
  • Kliknij „Prześlij odpowiedź", aby wysłać wiadomości do bota!