Your action's 'action_order_product' run method returned an invalid event. Event will be ignored. Event: 'SlotSet(key: router, value: None)

how I can solve that ?

I believe you want SlotSet("router", None).

sorry I did not understand you.plz explain more

What does your action code look like?

my bot action is squeeze in three parts one to check when user said is questions or statement . the second thing rephrase your sentences based on your inputs. the last actions change the pronouns from you to me and vise versa. but the issue that find the bot ─▒gnore the events that it is written in my terminal. thx for reply me

Hi @hajoura

could you please post the code of this particular action such that we are able to help you properly?


      class ReplacePronous(Action):

def name(self):
    return "action_replace_pronouns"

def run(self, dispatcher, tracker, domain):
    message = (tracker.latest_message)['text']
    if 'me' in message:
    # Replace 'me' with 'you'
        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', 'me', message)
    return [message]


it is a bit unclear for me what you want to achieve. In your headline you are writing something about a SlotSet to be returned, but this particular action does not involve such.

As documented here:

the run method should return:

List[Dict[Text, Any]]

meaning a dictionary of events. Currently, you are returning just strings. Maybe you want the bot to utter those messages? Then you should use:


and simply return []. Let us know if we could help.


this action only would to convert the pronouns on me to you and your to me but that the msg that received invalid event and the event will ignore but about my slot I fixed and it works good thx for your help