Upload files to 'chatbot/userdetails/actions'

This commit is contained in:
2023-08-30 05:03:50 +00:00
parent 26b93a62ca
commit 37bdc55319
2 changed files with 61 additions and 0 deletions
Binary file not shown.
+61
View File
@@ -0,0 +1,61 @@
# This files contains your custom actions which can be used to run
# custom Python code.
#
# See this guide on how to implement these action:
# https://rasa.com/docs/rasa/custom-actions
# This is a simple example for a custom action which utters "Hello World!"
import openpyxl
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.events import SlotSet
class ActionSayData(Action):
def name(self) -> Text:
return "get_slot_data"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List [Dict[Text, Any]]:
first_name = tracker.get_slot("first_name")
print(first_name)
last_name = tracker.get_slot("last_name")
print(last_name)
phone_num= tracker.get_slot("phone_num")
print(phone_num)
email_id= tracker.get_slot("email_id")
print(email_id)
sender_id = tracker.sender_id
def save_user_details_to_excel(details):
try:
workbook = openpyxl.load_workbook('user_details.xlsx')
sheet = workbook.active
except FileNotFoundError:
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.append(['Name', 'Age', 'Email', 'Phone','recipient_id'])
sheet.append(details)
workbook.save('user_details.xlsx')
details = [first_name, last_name, phone_num, email_id,sender_id]
save_user_details_to_excel(details)
dispatcher.utter_message()
return []
# Clear the desired slot by setting its value to None
class ActionHelloWorld(Action):
def name(self) -> Text:
return "slots_to_clear"
def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
slots_to_clear = ["first_name", "last_name", "phone_num","email_id"]
events = [SlotSet(slot_name, None) for slot_name in slots_to_clear]
return events