Zrozumienie działań w Botpress
Akcje w Botpressie to funkcje po stronie serwera, które bot wykonuje podczas przebiegu konwersacji. Mają możliwość zmiany stanu konwersacji, wysyłania dostosowanych wiadomości, wykonywania dowolnego kodu (takiego jak wywoływanie interfejsów API lub przechowywanie danych) i nie tylko. Zasadniczo akcje są zwykłymi funkcjami JavaScriptu, co oznacza, że mogą wykonywać niemal wszystko w ramach ograniczeń platformy.
Kiedy akcja jest wywoływana przez Menedżera Dialogu (DM), otrzymuje ona kilka argumentów, które dostarczają kontekstu funkcji. Argumenty te obejmują atrybuty użytkownika, zmienne sesji, zmienne tymczasowe, zmienne poziomu bota, najnowsze zdarzenie użytkownika w konwersacji, argumenty przekazane z narzędzia Visual Flow Builder oraz maszynę wirtualną w trybie piaskownicy, która zawiera pewne zmienne środowiskowe.
Rejestrowanie nowych działań
Aby dodać niestandardowe akcje bota, musisz utworzyć plik JavaScript (.js) i umieścić go w folderze dane/globalne/akcje folder w projekcie Botpress. Niestety nie ma możliwości programowego dodawania nowych akcji w czasie wykonywania. Używając komentarzy JavaDoc w swoim kodzie, możesz dostarczyć istotne informacje o akcjach, takie jak ich nazwa, opis, argumenty i wartości domyślne. Możesz także ukryć akcję w edytorze przepływu, dodając flagę @hidden true w komentarzu JavaDoc.
Jak tworzyć niestandardowe akcje w Botpress
Oto kilka kroków, które możesz wykonać, aby utworzyć niestandardową akcję w Botpress:
Krok 1: Utwórz bota i dodaj węzeł
Aby rozpocząć, utwórz nowego bota w Botpress. Po utworzeniu bota dodaj nowy węzeł do przepływu konwersacji.
Krok 2: Dodaj odpowiednie wiadomości do swojego węzła
W nowo utworzonym węźle dodaj niezbędne komunikaty ułatwiające wymianę treści z użytkownikami. Możesz na przykład dodać wiadomość tekstową, aby powitać użytkownika i zapytać o jego imię i nazwisko.
Krok 3: Otwórz kod wykonawczy z paska bocznego
Przejdź do paska bocznego w Botpress Flow Builder i otwórz „Edytor kodu”. Tutaj możesz tworzyć własne akcje i nimi zarządzać.
Krok 4: Kliknij przycisk „Dodaj akcję”.
W sekcji „Wykonaj kod” kliknij przycisk „Dodaj akcję”. Ta akcja otwiera okno „Utwórz nową akcję_legacy”.
Krok 5: Określ nazwę pliku i kliknij przycisk Prześlij
W oknie „Utwórz nowy action_legacy” podaj znaczącą nazwę dla swojego pliku akcji niestandardowej; na przykład niestandardoweAkcja.js. Po podaniu nazwy kliknij przycisk „Wyślij”. Spowoduje to utworzenie pliku „customAction.js”.
Krok 6: Napisz swój niestandardowy kod
Otwórz nowo utworzony plik „customAction.js”. Wewnątrz pliku zobaczysz standardowy kod wygenerowany dla nowej akcji. Podaj zrozumiały opis akcji niestandardowej, korzystając z odpowiednich komentarzy.
Teraz napisz swój niestandardowy kod w funkcji. Ten kod definiuje zachowanie akcji niestandardowej. Możesz używać JavaScriptu do wykonywania różnych zadań, takich jak wywoływanie API, uzyskiwanie dostępu do baz danych lub obsługa złożonej logiki.
Krok 7: Zmodyfikuj swój węzeł, aby użyć akcji niestandardowej
Wróć do Botpress Flow Builder i zmodyfikuj węzeł, w którym chcesz uruchomić niestandardową akcję. Dodaj kartę „Wykonaj kod” do węzła.
Krok 8: Wybierz nazwę akcji niestandardowej i określ parametry akcji
Na karcie „Wykonaj kod” zobaczysz listę rozwijaną zawierającą nazwy wszystkich Twoich akcji niestandardowych. Wybierz nazwę akcji niestandardowej z listy. Jeśli Twoja akcja niestandardowa wymaga jakichkolwiek parametrów, możesz je określić w sekcji „Parametry” na karcie „Wykonaj kod”.
Krok 9: Spraw, aby Twój bot wykonał akcję
Na koniec dodaj kolejną kartę do węzła, aby bot wykonał niestandardową akcję. Możesz użyć zmiennych zapisanych w zdarzeniu (określonych na karcie „Wykonaj kod”), aby uzyskać dostęp do wyników swojej niestandardowej akcji i uwzględnić je w odpowiedzi bota.
Przykładowa akcja niestandardowa
Załóżmy, że chcesz, aby Twój chatbot dostarczał aktualnych informacji o pogodzie dla określonej lokalizacji. Możesz utworzyć akcję niestandardową, która wywołuje interfejs API pogody i zwraca dane pogodowe.
stałe osie = wymagać ( „osie” );const getWeather = async ( użytkownik , sesja, argumenty) => {
stała lokalizacja = args.lokalizacja || 'Nowy Jork' ;
stały klucz apiKey = „klucz_api_pogody” ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${lokalizacja}`;
próbować {
stała odpowiedź = oczekiwanie na axios.get(apiUrl);
const pogodaData = odpowiedź.dane;
return `Aktualna pogoda w ${location} to ${weatherData.current.condition.text} z temperaturą ${weatherData.current.temp_c}°C.`;
} złapać (błąd) {
powrót Przepraszam, nie mogłem \' nie pobieram w tej chwili informacji o pogodzie. Spróbuj ponownie później.' ;
}
};
wróć getWeather( użytkownik , sesja, argumenty);
Ta akcja pobiera pewne argumenty, w tym użytkownika, sesję i argumenty, które zapewniają kontekst i dane, z którymi akcja może pracować. W tym przykładzie akcja niestandardowa „getWeather” przyjmuje lokalizację jako argument lub domyślnie przyjmuje wartość „Nowy Jork”, jeśli nie została podana. Akcja wywołuje API pogody za pomocą Axios, pobiera dane pogodowe i zwraca komunikat zawierający warunki pogodowe i temperaturę.
Zalety akcji niestandardowych
Niestandardowe akcje w Botpress oferują kilka korzyści, które zwiększają możliwości i funkcjonalność Twojego chatbota:
- Rozszerzają funkcjonalność chatbota poza możliwości wbudowane.
- Tworzą dostosowane interakcje, aby zapewnić lepsze doświadczenie użytkownika.
- Pobierają dane w czasie rzeczywistym z interfejsów API w celu uzyskania dynamicznych odpowiedzi.
- Integrują się z systemami backendowymi i bazami danych.
- Obsługują skomplikowane scenariusze za pomocą niestandardowego kodu.
- Ponownie wykorzystują działania w chatbotach i przepływach.
- Implementują niestandardową obsługę błędów i rejestrowanie.
- Optymalizują zadania wymagające dużych zasobów.
- Wykorzystują usługi zewnętrzne do skalowania.
- Uzyskują dostęp do gotowych akcji niestandardowych i udostępniają je.
Wniosek
Niestandardowe akcje w Botpressie rozszerzają możliwości chatbota, personalizują interakcje i integrują zewnętrzne API. Programiści tworzą funkcje JavaScript po stronie serwera i wywołują je z Botpress Flow Builder. Działania te zapewniają możliwość ponownego wykorzystania kodu, lepszą wydajność i skalowalność, dzięki czemu chatboty są bardziej wszechstronnymi i potężnymi narzędziami. Wykorzystanie niestandardowych działań w Botpress tworzy innowacyjne i wciągające doświadczenia z chatbotem.