Aktionen in Botpress verstehen
Aktionen in Botpress sind serverseitige Funktionen, die vom Bot während Gesprächsflüssen ausgeführt werden. Sie haben die Macht, den Status der Konversation zu ändern, benutzerdefinierte Nachrichten zu senden, beliebigen Code auszuführen (z. B. die APIs aufzurufen oder die Daten zu speichern) und vieles mehr. Im Wesentlichen handelt es sich bei Aktionen um reguläre JavaScript-Funktionen, was bedeutet, dass sie innerhalb der Grenzen der Plattform fast alles ausführen können.
Wenn eine Aktion vom Dialogue Manager (DM) aufgerufen wird, erhält er mehrere Argumente, die der Funktion Kontext bereitstellen. Zu diesen Argumenten gehören die Benutzerattribute, Sitzungsvariablen, temporäre Variablen, Variablen auf Bot-Ebene, das letzte Benutzerereignis in der Konversation, übergebene Argumente vom Visual Flow Builder und eine Sandbox-VM, die einige Umgebungsvariablen enthält.
Neue Aktionen registrieren
Um die benutzerdefinierten Bot-Aktionen hinzuzufügen, müssen Sie eine JavaScript-Datei (.js) erstellen und diese im ablegen Daten/global/Aktionen Ordner in Ihrem Botpress-Projekt. Leider gibt es keine Möglichkeit, zur Laufzeit programmgesteuert neue Aktionen hinzuzufügen. Mithilfe der JavaDoc-Kommentare in Ihrem Code können Sie aussagekräftige Informationen zu den Aktionen bereitstellen, z. B. deren Namen, Beschreibung, Argumente und Standardwerte. Sie können eine Aktion im Flow-Editor auch ausblenden, indem Sie das Flag „@hidden true“ im JavaDoc-Kommentar hinzufügen.
So erstellen Sie benutzerdefinierte Aktionen in Botpress
Hier sind einige Schritte, die Sie befolgen können, um eine benutzerdefinierte Aktion in Botpress zu erstellen:
Schritt 1: Erstellen Sie Ihren Bot und fügen Sie einen Knoten hinzu
Erstellen Sie zunächst einen neuen Bot in Botpress. Sobald Ihr Bot erstellt ist, fügen Sie dem Konversationsfluss einen neuen Knoten hinzu.
Schritt 2: Fügen Sie Ihrem Knoten geeignete Nachrichten hinzu
Fügen Sie im neu erstellten Knoten die erforderlichen Nachrichten hinzu, um den Inhaltsaustausch mit Benutzern zu erleichtern. Sie können beispielsweise eine Textnachricht hinzufügen, um den Benutzer zu begrüßen und ihn nach seinem Namen zu fragen.
Schritt 3: Öffnen Sie den Ausführungscode in der Seitenleiste
Navigieren Sie zur Seitenleiste im Botpress Flow Builder und öffnen Sie den „Code-Editor“. Hier können Sie Ihre benutzerdefinierten Aktionen erstellen und verwalten.
Schritt 4: Klicken Sie auf die Schaltfläche „Aktion hinzufügen“.
Klicken Sie im Abschnitt „Code ausführen“ auf die Schaltfläche „Aktion hinzufügen“. Diese Aktion öffnet das Fenster „Neue action_legacy erstellen“.
Schritt 5: Geben Sie einen Namen für die Datei an und klicken Sie auf die Schaltfläche „Senden“.
Geben Sie im Fenster „Neue action_legacy erstellen“ einen aussagekräftigen Namen für Ihre benutzerdefinierte Aktionsdatei ein. zum Beispiel customAction.js. Nachdem Sie den Namen angegeben haben, klicken Sie auf die Schaltfläche „Senden“. Dadurch wird die Datei „customAction.js“ erstellt.
Schritt 6: Schreiben Sie Ihren benutzerdefinierten Code
Öffnen Sie die neu erstellte Datei „customAction.js“. In der Datei sehen Sie den Boilerplate-Code, der für eine neue Aktion generiert wird. Geben Sie eine aussagekräftige Beschreibung für Ihre benutzerdefinierte Aktion mit den entsprechenden Kommentaren ein.
Schreiben Sie nun Ihren benutzerdefinierten Code in die Funktion. Dieser Code definiert das Verhalten Ihrer benutzerdefinierten Aktion. Mit JavaScript können Sie verschiedene Aufgaben ausführen, z. B. API-Aufrufe durchführen, auf Datenbanken zugreifen oder komplexe Logik verarbeiten.
Schritt 7: Ändern Sie Ihren Knoten, um die benutzerdefinierte Aktion zu verwenden
Gehen Sie zurück zum Botpress Flow Builder und ändern Sie den Knoten, an dem Sie Ihre benutzerdefinierte Aktion auslösen möchten. Fügen Sie dem Knoten eine Karte „Code ausführen“ hinzu.
Schritt 8: Wählen Sie Ihren benutzerdefinierten Aktionsnamen aus und geben Sie die Aktionsparameter an
Auf der Karte „Code ausführen“ sehen Sie eine Dropdown-Liste, die die Namen aller Ihrer benutzerdefinierten Aktionen enthält. Wählen Sie den Namen Ihrer benutzerdefinierten Aktion aus der Liste aus. Wenn Ihre benutzerdefinierte Aktion Parameter erfordert, können Sie diese im Abschnitt „Parameter“ der Karte „Code ausführen“ angeben.
Schritt 9: Lassen Sie Ihren Bot die Aktion ausführen
Fügen Sie abschließend eine weitere Karte zum Knoten hinzu, damit Ihr Bot die benutzerdefinierte Aktion ausführt. Sie können die im Ereignis gespeicherten Variablen (angegeben auf der Karte „Code ausführen“) verwenden, um auf die Ergebnisse Ihrer benutzerdefinierten Aktion zuzugreifen und sie in die Antwort des Bots einzubeziehen.
Beispiel für eine benutzerdefinierte Aktion
Nehmen wir an, Sie möchten, dass Ihr Chatbot die aktuellen Wetterinformationen für einen bestimmten Ort bereitstellt. Sie können eine benutzerdefinierte Aktion erstellen, die eine Wetter-API aufruft und die Wetterdaten zurückgibt.
const Axios = erfordern ( 'axios' );const getWeather = async ( Benutzer , Sitzung, Argumente) => {
const location = args.location || 'New York' ;
const apiKey = 'your_weather_api_key' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;
versuchen {
const Antwort = Warten auf axios.get(apiUrl);
const WeatherData = Response.data;
return `Das aktuelle Wetter in ${location} ist ${weatherData.current.condition.text} mit einer Temperatur von ${weatherData.current.temp_c}°C.`;
} Catch (Fehler) {
zurückkehren „Tut mir leid, das konnte ich \' Ich rufe derzeit keine Wetterinformationen ab. Bitte versuchen Sie es später noch einmal.' ;
}
};
return getWeather( Benutzer , Sitzung, Argumente);
Diese Aktion benötigt bestimmte Argumente, einschließlich Benutzer, Sitzung und Argumente, die den Kontext und die Daten bereitstellen, mit denen die Aktion arbeiten soll. In diesem Beispiel verwendet die benutzerdefinierte Aktion „getWeather“ den Standort als Argument oder verwendet standardmäßig „New York“, wenn dieser nicht angegeben wird. Die Aktion ruft die Wetter-API über Axios auf, ruft die Wetterdaten ab und gibt eine Nachricht zurück, die die Wetterbedingungen und die Temperatur enthält.
Vorteile von benutzerdefinierten Aktionen
Benutzerdefinierte Aktionen in Botpress bieten mehrere Vorteile, die die Fähigkeiten und Funktionalität Ihres Chatbots verbessern:
- Sie erweitern die Chatbot-Funktionalität über die integrierten Funktionen hinaus.
- Sie schaffen maßgeschneiderte Interaktionen für ein besseres Benutzererlebnis.
- Sie rufen Echtzeitdaten von APIs für dynamische Antworten ab.
- Sie lassen sich in Backend-Systeme und Datenbanken integrieren.
- Sie bewältigen komplizierte Szenarien mit benutzerdefiniertem Code.
- Sie verwenden die Aktionen über Chatbots und Flows hinweg wieder.
- Sie implementieren die benutzerdefinierte Fehlerbehandlung und -protokollierung.
- Sie optimieren die ressourcenintensiven Aufgaben.
- Sie nutzen die externen Dienste zur Skalierung.
- Sie greifen auf die vorgefertigten benutzerdefinierten Aktionen zu und teilen diese.
Abschluss
Benutzerdefinierte Aktionen in Botpress erweitern die Chatbot-Funktionen, personalisieren Interaktionen und integrieren externe APIs. Entwickler erstellen die serverseitigen JavaScript-Funktionen und rufen sie über den Botpress Flow Builder auf. Diese Aktionen bieten Wiederverwendbarkeit des Codes, verbesserte Leistung und Skalierbarkeit, was Chatbots zu vielseitigeren und leistungsfähigeren Werkzeugen macht. Durch die Nutzung der benutzerdefinierten Aktionen in Botpress entstehen innovative und ansprechende Chatbot-Erlebnisse.