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.
Wewnątrz bloku Start dodajemy tekst z przyciskiem o tytule Losuj (na razie bez decydowania, gdzie przycisk ma prowadzić).
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:
I przekierowujemy wcześniej dodany przycisk, do bloku Gift drawing
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:
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”.
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.
Komentarz