def webhook(): action_name = request.json.get("next_action") tracker_json = request.json.get("tracker") domain = request.json.get("domain", {}) tracker = Tracker.from_dict(tracker_json) dispatcher = CollectingDispatcher() print("action: ", action_name) events = eval(str(action_name) + '(dispatcher, tracker, domain)') return jsonify(create_api_response(events, dispatcher.messages))
def run(self, action_call): action_name = action_call.get("next_action") if action_name: logger.debug("Received request to run '{}'".format(action_name)) action = self.actions.get(action_name) if not action: raise Exception("No registered Action found for name '{}'." "".format(action_name)) tracker_json = action_call.get("tracker") domain = action_call.get("domain", {}) tracker = Tracker.from_dict(tracker_json) dispatcher = CollectingDispatcher() events = action(dispatcher, tracker, domain) logger.debug("Successfully ran '{}'".format(action_name)) return self._create_api_response(events, dispatcher.messages) else: logger.warning("Received an action call without an action.")