Con la piattaforma crafter.ai è possibile far eseguire del codice al tuo chatbot al fine di pulire un testo da caratteri speciali inseriti dagli utenti, oppure per eseguire calcoli, modificare valori e così via.
Per iniziare ad utilizzare questa funziona, recati nel flow designer e scegli l’opzione mostrata in figura:
![eseguire del codice con il chatbot eseguire del codice con il chatbot](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/eseguire-del-codice-con-il-chatbot.webp?resize=1024%2C716&ssl=1)
Potrai decidere se utilizzare Python oppure Javascript.
![scegliere il linguaggio di programmazione chatbot tra javascript e python scegliere il linguaggio di programmazione chatbot tra javascript e python](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/scegliere-il-linguaggio-di-programmazione-chatbot-tra-javascript-e-python.webp?resize=568%2C628&ssl=1)
A questo punto cliccando sull’icona ingranaggio potrai accedere direttamente all’editor:
![ide per eseguire il codice con il chatbot ide per eseguire il codice con il chatbot](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/ide-per-eseguire-il-codice-con-il-chatbot.webp?resize=1024%2C556&ssl=1)
Per leggere il valore degli slot precedentemente riempiti dal bot si può usare il dizionario slots:
# legge il valore di uno slot e lo salva in una variabile
slot1 = slots["slot1"]
slot2 = slots["slot2"]
Per modificare o cancellare il valore degli slot è necessario definire una variabile con il nome dello slot e assegnarle il valore desiderato. Il nome degli slot da modificare o cancellare va indicato anche in “Variabili salvate”. Il valore assegnato a uno slot deve poter essere rappresentabile in JSON (numbers, strings, lists, dictionaries, None)
# assegna un nuovo valore allo slot1
slot1 = "new value"
# cancella lo slot 2
slot2 = None
# crea lo slot 3 e assegna un nuovo valore
slot3 = "new value"
Esempio di utilizzo
In questo esempio andiamo a creare un controllo dello stato dell’ordine di un ecommerce ed utilizzeremo la funzione “il bot esegue del codice” per ripulire la stringa da eventuali caratteri speciali prima di fare una chiamata API e restituire lo stato dell’ordine.
![flusso iniziale prima di controllare la stringa inserita da utente con codice python lanciato dal bot flusso iniziale prima di controllare la stringa inserita da utente con codice python lanciato dal bot](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/flusso-iniziale-prima-di-controllare-la-stringa-inserita-da-utente-con-codice-python-lanciato-dal-bot.webp?resize=1024%2C341&ssl=1)
A questo punto andremo a scrivere il codice di pulizia della stringa:
![codice python eseguito dal chatbot per controllare e pulire la stringa inserita da utente codice python eseguito dal chatbot per controllare e pulire la stringa inserita da utente](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/codice-python-eseguito-dal-chatbot-per-controllare-e-pulire-la-stringa-inserita-da-utente.webp?resize=1024%2C553&ssl=1)
Adesso che la stringa è pulita da eventuali caratteri speciali possiamo chiamare la nostra API per il controllo dello stato dell’ordine dell’utente:
![controllo stato ordine dopo pulizia della stringa inserita da utente controllo stato ordine dopo pulizia della stringa inserita da utente](https://i0.wp.com/crafter.ai/wp-content/uploads/2024/06/controllo-stato-ordine-dopo-pulizia-della-stringa-inserita-da-utente.webp?resize=1024%2C606&ssl=1)