How to combine my action in customer action

   def replace_pronon (message):
    message = message.lower()
    if 'me' in message:
         return re.sub('me', 'you', message)
    if 'my' in message:
        # Replace 'my' with 'your'
        return re.sub('my', 'your', message)
    if 'your' in message:
        # Replace 'your' with 'my'
       return re.sub('your', 'my', message)
    if 'you' in message:
        # Replace 'you' with 'me'
        return re.sub('you', 'i', message)
    if 'yours' in message:
        return re.sub('yours','mine',message)
    if 'you will' in message:
        return re.sub('you will','I will',message)
    if 'you have' in message:
        return re.sub('you have','I have',message)
    if 'are'  in message:
        return re.sub('are','am',message)
    if 'i will'  in message:
        return re.sub('i will','you will',message) 
    if 'i have '  in message:
        return re.sub('i have ','you have',message)  
    if 'i would '  in message:
        return re.sub('i would ','you would',message)
    if 'i' in message:
        return re.sub('i','you',message)
    if 'was'  in message:
        return re.sub('was','were',message)
    if 'were '  in message:
        return re.sub('were','was',message)
    return message

with def run(self, dispatcher, tracker, domain): i do know how help me

Hi @hajoura,

try this one:

from rasa_sdk import Action from rasa_sdk.events import SlotSet

class ActionCheckRestaurants(Action):
   def name(self) -> Text:
      return "action_replace_pronon"

   def run(self,
           dispatcher: CollectingDispatcher,
           tracker: Tracker,
           domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

  message = '<our message as a string here>'
if 'me' in message:
     message = re.sub('me', 'you', message)
if 'my' in message:
    # Replace 'my' with 'your'
    message = re.sub('my', 'your', message)
if 'your' in message:
    # Replace 'your' with 'my'
   message = re.sub('your', 'my', message)
if 'you' in message:
    # Replace 'you' with 'me'
    message =  re.sub('you', 'i', message)
if 'yours' in message:
    message = re.sub('yours','mine',message)
if 'you will' in message:
    message = re.sub('you will','I will',message)
if 'you have' in message:
    message = re.sub('you have','I have',message)
if 'are'  in message:
    message = re.sub('are','am',message)
if 'i will'  in message:
    message = re.sub('i will','you will',message) 
if 'i have '  in message:
    message = re.sub('i have ','you have',message)  
if 'i would '  in message:
    message = re.sub('i would ','you would',message)
if 'i' in message:
    message = re.sub('i','you',message)
if 'was'  in message:
    message = re.sub('was','were',message)
if 'were '  in message:
    message = re.sub('were','was',message)
dispatcher.utter_message(message)

  return [] 

Keep in mind that if you want to sub only once, you need to utter immediately after replacing instead of proceeding to the next replacement. Sorry for the malformed code formatting… unfortunately, the editor didnt let me do it better!

Regards

1 Like

thx deeply fo that I will test it