Hello everyone! I’m trying to get metadata using Rasa custom actions. The POST request body looks like:
{ "sender": "Me", "message":"Check channel", "metadata": {"channel": "chat"} }
I changed method get_metadata
in class InputChannel of rasa\Lib\site-packages\rasa\core\channels\channel.py
file to:
def get_metadata(self, request: Request) -> Optional[Dict[Text, Any]]: metadata = request.json return metadata
And, also I wrote the next code in Rasa custom action to extract it:
@staticmethod def extract_metadata_from_tracker(tracker: Tracker): events = tracker.current_state()['events'] user_events = [] for e in events: if e['event'] == 'user': user_events.append(e) return user_events[-1]['metadata']
In response I just get empty metadata:
"recipient_id": "Me",
"text": "Check channel",
"metadata": {}
}