Losowanie obrazka w Dialogflow

Jak zrobić losowanie obrazka w chatbotcie? [Chatfuel i Dialogflow] cz.1

Dawno nie było żadnego poradnika, więc postanowiłem wrzucić coś nowego. Pokażę dzisiaj jak zrobić losowanie obrazka w chatbotcie – w Chatfuel i w Dialogflow. Czemu akurat o tym? Na jednej z grup poświęconych chatbotom ktoś potrzebował pomocy w tym temacie, dlatego stwierdziłem, że rozwiązanie tego problemu opiszę. Być może ktoś inny boryka się z podobnym problemem.

No dobra, ale można spytać, po co nam właściwie taka funkcjonalność? Przykład pierwszy z brzegu – mamy chatbot, którego jedna z funkcjonalności to losowanie nagrody, po kliknięciu w przycisk „Losuj”. Nagrody przedstawiane są w postaci obrazka, a użytkownik po kliknięciu w przycisk otrzyma w odpowiedzi jeden z dodanych 3 różnych obrazków.

Rozwiązanie pokażę na przykładzie dwóch narzędzi do tworzenia chatbotów, które są mi najbliższe: Chatfuel i Dialogflow.

Chatfuel

Zaczniemy od Chatfuel. Jest to jedna z najbardziej popularnych platform do tworzenia botów, przeznaczonych na Messenger’a. Ze względu na dość prostą i intuicyjną obsługę, platforma jest dobrym punktem startu dla twórców botów i pozwala w szybki i łatwy sposób stworzyć w pełni działającego chatbota. Na moim blogu znajdziecie trochę wpisów poświęconych Chatfuelowi, a sam polecam zacząć od TEGO artykułu.

Pierwsza czynność jaką powinniśmy wykonać to dodać blok do Chatfuel, w którym umieścimy przycisk z napisem „Losuj„. A czym jest blok w Chatfuel? Bot to rodzaj logicznego podziału bota – bot w Chatfuel składa się ze zbioru bloków, które łączą się ze sobą, przełączają się między sobą oraz wykonują operacje w nich zawarte. I właśnie jedną z tych operacji jest wyświetlenie przycisku ze zdefiniowanym napisem.

Ok, więc zaczniemy od stworzenia bloku o nazwie Start.

Jak zrobić losowanie obrazka w chatbotcie

 

Wewnątrz bloku Start dodajemy tekst z przyciskiem o tytule Losuj (na razie bez decydowania, gdzie przycisk ma prowadzić).

Jak zrobić losowanie obrazka w chatbotcie

Póki co przycisk jest podkreślony na czerwono, co oznacza, że nie jest on poprawnie skonfigurowany. W naszym przypadku nie ustaliliśmy jeszcze, akcji jaka ma się wykonać po kliknięciu przycisku.  Opcji mamy 3:

  • przekierowanie do innego bloku
  • uruchomienie podanego adresu WWW
  • telefon pod wybrany numer

My wybierzemy bramkę nr 1 i przekierujemy użytkownika do bloku, który będzie odpowiedzialny za losowanie nagrody. Aby to zrobić musimy ten blok dodać w pierwszej kolejności i to właśnie robimy:

Jak zrobić losowanie obrazka w chatbotcie

I przekierowujemy wcześniej dodany przycisk, do bloku Gift drawing

Jak zrobić losowanie obrazka w chatbotcie

Mamy już? To kolejny krokiem będzie stworzenie 3 bloków. Każdy z nich będzie zawierał jedno z możliwych do losowania zdjęć. Nazwiemy je Gift1, Gift2 i Gift3, a w każdym umieszczę inne zdjęcie. Tutaj przykład jednego z bloków:

Jak zrobić losowanie obrazka w chatbotcie

I teraz najważniejsza rzecz. Przechodzimy do bloku Gift drawing i dodajemy do niego element Redirect to.

Co robi ten element? Przenosi nas do wskazanego bloku. Zazwyczaj wskazujemy mu 1 blok, ale na potrzeby losowania możemy użyć ustawienia Random i zdefiniować wszystkie bloki, które mają wziąć udział w „losowaniu”.

Jak zrobić losowanie obrazka w chatbotcie

Tak skonstruowany blok za każdym razem przeniesie użytkownika do losowo wyrbanego bloku spośród zdefiniowanych. Jak nie wierzycie – przetestujcie 🙂

Podusmowanie

Na dzisiaj to koniec. Obiecałem Wam realizację tego scenariusza w Dialogflow i tak będzie – w następnym wpisie. Wyjaśnię przy okazji po raz kolejny czym jest Fulfillment w Dialogflow i jak go wykorzystać do losowania. Stay tuned!

PS. Pokazywany mechanizm możecie wykorzystać w dowolnym ‚losowanym’ scenariuszu, np ruletka, jako element gry lub zabawy lub losowanie słówka, jeśli robicie bota do nauki języka obcego.

 



Udostępnij: