Acties in Botpress begrijpen
Acties in Botpress zijn functies aan de serverzijde die door de bot worden uitgevoerd tijdens gespreksstromen. Ze hebben de macht om de status van het gesprek te veranderen, aangepaste berichten te verzenden, willekeurige code uit te voeren (zoals het aanroepen van de API's of het opslaan van de gegevens) en meer. In wezen zijn acties reguliere JavaScript-functies, wat betekent dat ze vrijwel alles kunnen uitvoeren binnen de beperkingen van het platform.
Wanneer een actie wordt aangeroepen door de Dialogue Manager (DM), ontvangt deze verschillende argumenten die context aan de functie bieden. Deze argumenten omvatten de gebruikerskenmerken, sessievariabelen, tijdelijke variabelen, variabelen op botniveau, de laatste gebruikersgebeurtenis in het gesprek, doorgegeven argumenten van de Visual Flow Builder en een in een sandbox geplaatste VM die enkele omgevingsvariabelen bevat.
Nieuwe acties registreren
Om de aangepaste botacties toe te voegen, moet u een JavaScript-bestand (.js) maken en dit in het .js-bestand plaatsen gegevens/globaal/acties map binnen uw Botpress-project. Helaas is er geen manier om programmatisch nieuwe acties toe te voegen tijdens runtime. Met behulp van de JavaDoc-opmerkingen in uw code kunt u zinvolle informatie geven over de acties, zoals hun naam, beschrijving, argumenten en standaardwaarden. U kunt een actie ook verbergen in de stroomeditor door de vlag @hidden true toe te voegen aan de JavaDoc-opmerking.
Aangepaste acties maken in Botpress
Hier zijn een paar stappen die u kunt volgen om een aangepaste actie in Botpress te maken:
Stap 1: Maak uw bot en voeg een knooppunt toe
Maak om te beginnen een nieuwe bot in Botpress. Zodra uw bot is gemaakt, voegt u een nieuw knooppunt toe aan de gespreksstroom.
Stap 2: Voeg de juiste berichten toe aan uw knooppunt
Voeg in het nieuw gemaakte knooppunt de nodige berichten toe om de uitwisseling van inhoud met gebruikers te vergemakkelijken. U kunt bijvoorbeeld een sms-bericht toevoegen om de gebruiker te begroeten en om zijn of haar naam te vragen.
Stap 3: Open de code uitvoeren vanuit de zijbalk
Navigeer naar de zijbalk in de Botpress Flow Builder en open de “Code-editor”. Hier kunt u uw aangepaste acties samenstellen en beheren.
Stap 4: Klik op de knop 'Actie toevoegen'.
Klik in het gedeelte ‘Code uitvoeren’ op de knop ‘Actie toevoegen’. Deze actie opent het venster 'Een nieuwe action_legacy maken'.
Stap 5: Geef een naam op voor het bestand en klik op de knop Verzenden
Geef in het venster “Een nieuwe action_legacy maken” een betekenisvolle naam op voor uw aangepaste actiebestand; bijvoorbeeld customAction.js. Nadat u de naam heeft opgegeven, klikt u op de knop 'Verzenden'. Hierdoor wordt het bestand “customAction.js” gemaakt.
Stap 6: Schrijf uw aangepaste code
Open het nieuw gemaakte bestand “customAction.js”. In het bestand ziet u de standaardcode die is gegenereerd voor een nieuwe actie. Geef een betekenisvolle beschrijving voor uw aangepaste actie met behulp van de juiste opmerkingen.
Schrijf nu uw aangepaste code binnen de functie. Deze code definieert het gedrag van uw aangepaste actie. U kunt JavaScript gebruiken om verschillende taken uit te voeren, zoals het uitvoeren van API-aanroepen, toegang tot de databases of het verwerken van complexe logica.
Stap 7: Pas uw knooppunt aan om de aangepaste actie te gebruiken
Ga terug naar de Botpress Flow Builder en wijzig het knooppunt waarop u uw aangepaste actie wilt activeren. Voeg een kaart 'Code uitvoeren' toe aan het knooppunt.
Stap 8: Selecteer uw aangepaste actienaam en geef de actieparameters op
Op de kaart ‘Code uitvoeren’ ziet u een vervolgkeuzelijst met de namen van al uw aangepaste acties. Selecteer de naam van uw aangepaste actie in de lijst. Als voor uw aangepaste actie parameters nodig zijn, kunt u deze opgeven in het gedeelte 'Parameters' van de kaart 'Code uitvoeren'.
Stap 9: Laat uw bot de actie uitvoeren
Voeg ten slotte nog een kaart toe aan het knooppunt om uw bot de aangepaste actie te laten uitvoeren. U kunt de variabelen gebruiken die in de gebeurtenis zijn opgeslagen (opgegeven op de kaart ‘Code uitvoeren’) om toegang te krijgen tot de resultaten van uw aangepaste actie en deze op te nemen in het antwoord van de bot.
Voorbeeld aangepaste actie
Stel dat u wilt dat uw chatbot de huidige weersinformatie voor een bepaalde locatie levert. U kunt een aangepaste actie maken die een weer-API aanroept en de weergegevens retourneert.
const axios = vereisen ( 'axios' );const getWeather = async ( gebruiker , sessie, argumenten) => {
const locatie = args.locatie || 'New York' ;
const apiKey = 'uw_weer_api_sleutel' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${locatie}`;
poging {
const antwoord = wacht op axios.get(apiUrl);
const weerData = respons.data;
return `Het huidige weer in ${location} is ${weatherData.current.condition.text} met een temperatuur van ${weatherData.current.temp_c}°C.`;
} catch (fout) {
opbrengst 'Sorry, dat kon ik \' De weersinformatie wordt momenteel niet opgehaald. Probeer het later opnieuw.' ;
}
};
return getWeather( gebruiker , sessie, argumenten);
Voor deze actie zijn bepaalde argumenten nodig, waaronder de gebruiker, de sessie en argumenten die de context en gegevens bieden waarmee de actie kan werken. In dit voorbeeld neemt de aangepaste actie 'getWeather' de locatie als argument of wordt standaard 'New York' gebruikt als deze niet wordt opgegeven. De actie roept de Weer-API aan met behulp van Axios, haalt de weergegevens op en retourneert een bericht met de weersomstandigheden en temperatuur.
Voordelen van aangepaste acties
Aangepaste acties in Botpress bieden verschillende voordelen die de mogelijkheden en functionaliteit van uw chatbot vergroten:
- Ze breiden de chatbotfunctionaliteit uit tot buiten de ingebouwde mogelijkheden.
- Ze creëren interacties op maat voor een betere gebruikerservaring.
- Ze halen realtime gegevens op van API's voor dynamische reacties.
- Ze integreren met backend-systemen en databases.
- Ze verwerken ingewikkelde scenario's met aangepaste code.
- Ze hergebruiken de acties in chatbots en stromen.
- Ze implementeren de aangepaste foutafhandeling en logboekregistratie.
- Ze optimaliseren de resource-intensieve taken.
- Ze maken gebruik van de externe services voor schaalvergroting.
- Ze hebben toegang tot en delen de vooraf gemaakte aangepaste acties.
Conclusie
Aangepaste acties in Botpress breiden de chatbotmogelijkheden uit, personaliseren interacties en integreren externe API's. Ontwikkelaars maken de JavaScript-functies aan de serverzijde en roepen deze aan vanuit de Botpress Flow Builder. Deze acties bieden herbruikbaarheid van code, verbeterde prestaties en schaalbaarheid, waardoor chatbots veelzijdiger en krachtigere tools worden. Door gebruik te maken van de aangepaste acties in Botpress ontstaan innovatieve en boeiende chatbot-ervaringen.