def run(self, dispatcher, tracker, domain): materials = tracker.get_slot('Material') jenishp = tracker.get_slot('JenisHP') if not jenishp: dispatcher.utter_message( "Maaf kak, tolong beritahu kami merk dan tipe hp kakak") return [UserUtteranceReverted()] if not materials: dispatcher.utter_message( "Maaf kak, tolong beritahu kami jenis custom case apa yang kakak inginkan" ) return [UserUtteranceReverted()] with psycopg2.connect(DSN) as conn: with conn.cursor() as curs: curs.execute( f"""SELECT harga FROM skripsweet_adminpage_produk WHERE concat(merkhp, ' ', tipehp) LIKE '%{jenishp.lower()}%' AND material_hp LIKE '%{materials.lower()}%' AND stock > 0 """) result = curs.fetchone() if result is None: dispatcher.utter_message( "Mohon maaf, material yang kakak tanyakan sedang tidak tersedia." ) return [] else: dispatcher.utter_template("utter_reply_harga", tracker, JenisHP=jenishp, Material=materials, Harga=result[0]) return []
def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]: intent_name = tracker.latest_message['intent'].get('name') entity_name = tracker.latest_message['entities'] print("value of intent " + str(intent_name)) print("value of entity " + str(entity_name)) if intent_name == "get_started": dispatcher.utter_template("utter_payload", tracker) return [UserUtteranceReverted()] else: message = "कृपया आप सही जानकारी प्रदान करें" dispatcher.utter_message(message) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): orig = next(tracker.get_latest_entity_values("location"), None) print("Origin to Save ===============> ", orig) if not orig: dispatcher.utter_message("Please enter a valid airport code") return [UserUtteranceReverted()] return [SlotSet('origin', orig)]
def run(self, dispatcher, tracker, domain): materials = tracker.get_slot('Material') jenishp = tracker.get_slot('JenisHP') material = next(tracker.get_latest_entity_values("Material"), None) if not material: dispatcher.utter_message( "Maaf kak, tolong beritahu kami jenis custom case apa yang kakak inginkan" ) return [UserUtteranceReverted()] with psycopg2.connect(DSN) as conn: with conn.cursor() as curs: curs.execute( f"""SELECT lama_pengerjaan FROM skripsweet_adminpage_produk WHERE concat(merkhp, ' ', tipehp) LIKE '%{jenishp.lower()}%' AND material_hp LIKE '%{materials.lower()}%' """ ) result = curs.fetchone() print(result) if result is None: dispatcher.utter_message( "Hasil tidak ditemukan. Maaf kak :(") return [] else: dispatcher.utter_template("utter_reply_lama_pengerjaan", tracker, Durasi=result[0]) return []
def run(self, dispatcher, tracker, domain): # response = "I'm sorry, but I didn't understand you. Could you please rephrase what you just said?" dispatcher.utter_template("utter_default", tracker, silent_fail=True) message = tracker.latest_message print(message,'.........................') return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): zip_code = tracker.get_slot("zip") city = tracker.get_slot("city") if zip_code is None: dispatcher.utter_message( "Bitte schreiben Sie auch ihre Postleitzahl gemeinsam mit Ihrem Wohnort" ) return [UserUtteranceReverted()] elif city is None: dispatcher.utter_message( "Bitte schreiben Sie auch ihr Wohnort gemeinsam mit Ihrer Postleitzahl" ) return [UserUtteranceReverted()] return [SlotSet("zip_city", str(zip_code + " " + city))]
def run(self, dispatcher, tracker, domain): did_not_understand = [ "Sorry I didn't get that.", "Try again", "What do you mean? (in the voice of Justin Bieber)", "I cannot help you with that", "I did not understand" ] dispatcher.utter_message(random.choice(did_not_understand)) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): # value = next((x["value"] for x in tracker.latest_message.entities if x['entity'] == 'location'), None) # return [SetSlot("destination", value)] dest = next(tracker.get_latest_entity_values("location"), None) if not dest: dispatcher.utter_message("Please enter a valid airport code") return [UserUtteranceReverted()] return [SlotSet('destination', dest)]
def run(self, dispatcher, tracker, domain): material = next(tracker.get_latest_entity_values("Material"), None) if not material: dispatcher.utter_message( "Maaf kak, tolong beritahu kami jenis custom case apa yang kakak inginkan" ) return [UserUtteranceReverted()] return [SlotSet('Material', material)]
def run(self, dispatcher, tracker, domain): lokasi = next(tracker.get_latest_entity_values("Lokasi"), None) if not lokasi: dispatcher.utter_message( "Maaf kak, tolong beritahu kami nama kota kakak untuk kami cek ongkos kirimnya" ) return [UserUtteranceReverted()] return [SlotSet('Lokasi', lokasi)]
def run(self, dispatcher, tracker, domain): jenishp = next(tracker.get_latest_entity_values("Jenis_HP"), None) if not jenishp: dispatcher.utter_message( "Maaf kak, tolong beritahu kami merk dan tipe smartphone kakak untuk mendapatkan informasi ketersediaan" ) return [UserUtteranceReverted()] return [SlotSet('JenisHP', jenishp)]
def run(self, dispatcher, tracker, domain): street = next(tracker.get_latest_entity_values('street'), None) house_number = next(tracker.get_latest_entity_values('house_number'), None) if not street: dispatcher.utter_message( "Bitte geben Sie den Straßennamen zusätzlich zu Ihrer Hausnummer an" ) return [UserUtteranceReverted()] elif not house_number: dispatcher.utter_message( "Bitte geben Sie die Hausnummer zusätzlich zu Ihrem Straßennamen an" ) return [UserUtteranceReverted()] return [SlotSet("street_address", str(street + " " + house_number))]
def run(self, dispatcher, tracker, domain): jenishps = tracker.get_slot('JenisHP') jenishp = next(tracker.get_latest_entity_values("Jenis_HP"), None) if not jenishp: dispatcher.utter_message( "Maaf kak, tolong beritahu kami merk dan tipe smartphone kakak untuk mendapatkan informasi ketersediaan" ) return [UserUtteranceReverted()] if jenishp.lower() in [ 'xiaomi', 'samsung', 'iphone', 'oppo', 'vivo', 'huawei', 'advan', 'meizu', 'nokia', 'wiko', 'lg', 'sony' ]: dispatcher.utter_message( "Maaf kak, tolong beritahu kami merk beserta dengan tipe smartphone kakak untuk mendapatkan informasi ketersediaan" ) return [UserUtteranceReverted()] with psycopg2.connect(DSN) as conn: with conn.cursor() as curs: curs.execute( f"""SELECT stock,material_hp,harga,idproduk FROM skripsweet_adminpage_produk WHERE concat(merkhp, ' ', tipehp) LIKE '%{jenishp.lower()}%' """ ) result = curs.fetchall() print(result) if len(result) == 0: dispatcher.utter_template( "utter_reply_ketersediaan_produk_tidak_tersedia", tracker, Jenis_HP=jenishps) else: for result_row in result: stock = result_row[0] if int(stock) > 0: dispatcher.utter_template( "utter_reply_ketersediaan_produk_tersedia_list", tracker, Material=result_row[1], Harga=result_row[2], IDProduk=result_row[3]) else: dispatcher.utter_template( "utter_reply_ketersediaan_produk_tidak_tersedia", tracker, Jenis_HP=jenishp) return [] return []
def run(self, dispatcher, tracker, domain): # type: (Dispatcher, DialogueStateTracker, Domain) -> List[Event] print(tracker.latest_message.keys()) evento = tracker.get_slot("event") if evento is None: dispatcher.utter_template("utter_event_not_found", tracker) return [UserUtteranceReverted()] query = { "$or": [{ "date": { "$gte": datetime.now(tz=pytz.timezone('America/Santo_Domingo')) } }, { "evento.finaliza": { "$gte": datetime.now(tz=pytz.timezone('America/Santo_Domingo')) } }], "$text": { u"$search": evento } } projection = { "score": { u"$meta": u"textScore" }, "evento.nombre": 1, "date": 1, } sort = [('score', {'$meta': 'textScore'}), (u"date", 1)] collection = Database('kb', 'Calendarios').collection docs = collection.find(query, projection=projection, sort=sort).limit(5) matches = [] date = str() hoy = datetime.now() if docs.count() > 0: if docs[0]['score'] >= 0.800: if docs[0]['date'] >= hoy: date = docs[0]['date'] elif docs[0]['date'] < hoy <= docs[0]['evento']['finaliza']: date = docs[0]['evento']['finaliza'] return [SlotSet('date', date)] else: for doc in docs: event = doc['evento']['nombre'] matches.append(event) return [SlotSet('matching_events', matches)] dispatcher.utter_template('utter_sorry', tracker) return []
def run(self, dispatcher, tracker, domain): user_id = (tracker.current_state())["sender_id"] print(user_id) mobile_no = next(tracker.get_latest_entity_values("inp_number"), None) if not mobile_no: return [UserUtteranceReverted()] mobile_no = mobile_no.replace(" ", "") #print (cust_name) return [SlotSet('mobile_no', mobile_no)]
def run(self, dispatcher, tracker, domain): email = next(tracker.get_latest_entity_values('email'), None) # if no email entity was recognised, prompt the user to enter a valid # email and go back a turn in the conversation to ensure future # predictions aren't affected if not email: dispatcher.utter_message("Please input a valid email.") return [UserUtteranceReverted()] return [SlotSet('email', email)]
def submit(self, dispatcher, tracker, domain): collection = Database('kb', 'Users').collection passwd = str(tracker.get_slot("password")) matricula = str(tracker.get_slot("matricula")) query = {"password": passwd, "matricula": matricula} if passwd and matricula: result = collection.find_one(query) else: dispatcher.utter_message( "Tengo dificultad reconociendo tu matricula, " "asegúrate de que esté sin guiones ni espacios") return [UserUtteranceReverted()] if result: dispatcher.utter_template("utter_welcome", tracker, username=result['nombre']) return [SlotSet("username", result["nombre"])] else: dispatcher.utter_message("matricula o contraseña incorrectos") return [UserUtteranceReverted()] return []
def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List['Event']: # Fallback caused by TwoStageFallbackPolicy if (len(tracker.events) >= 4 and tracker.events[-4].get('name') == 'action_default_ask_affirmation'): return [ SlotSet('feedback_value', 'negative'), Form('feedback_form'), FollowupAction('feedback_form') ] # Fallback caused by Core else: dispatcher.utter_template('utter_default', tracker) return [UserUtteranceReverted()]
def run( self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any], ) -> List["Event"]: last_utter = get_last_utter_action(tracker, dispatcher) if "action_default_fallback" == last_utter: dispatcher.utter_message( "handoff to human: implementazione notifica" ) # TODO implement handoff return [ConversationPaused()] # first time else: dispatcher.utter_template("utter_default", tracker) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): land_unit = tracker.get_slot('land_unit') size = int(tracker.get_slot('size')) crop = str(tracker.get_slot('crop')) print(crop) if (size <= 5): if (crop == "चावल"): #utter_message = "मैंने आपके द्वारा बताए गए मापदंडों के अनुसार ट्रैक्टर की सिफारिश प्रस्तुत कर दी है । ट्रैक्टर मॉडल स्वराज 744 एफ ई" #dispatcher.utter_message(message) #image = "http://www.machinephd.com/wp-content/uploads/2017/08/Swaraj-744-FE.jpg" dispatcher.utter_template("utter_tractor_1", tracker) #dispatcher.utter_template(utter_message,tracker,image="http://www.machinephd.com/wp-content/uploads/2017/08/Swaraj-744-FE.jpg") #dispatcher.utter_message("http://www.machinephd.com/wp-content/uploads/2017/08/Swaraj-744-FE.jpg") return [] elif (crop == "कपास"): #message = "मैंने आपके द्वारा बताए गए मापदंडों के अनुसार ट्रैक्टर की सिफारिश प्रस्तुत कर दी है । ट्रैक्टर मॉडल स्वराज 963 एफ ई " #image= "https://cdn.tractorjunction.com/upload/swaraj-963-fe-494385.JPG" dispatcher.utter_template("utter_tractor_2", tracker) #dispatcher.utter_message("https://cdn.tractorjunction.com/upload/swaraj-963-fe-494385.JPG") return [] elif (size > 5 and size <= 10): if (crop == "चावल"): #message = "मैंने आपके द्वारा बताए गए मापदंडों के अनुसार ट्रैक्टर की सिफारिश प्रस्तुत कर दी है । ट्रैक्टर मॉडल स्वराज 963 एक्स एम " #dispatcher.utter_message(message) #image="http://www.swarajtractors.com/uploads/9/Swaraj-841xm.jpg" dispatcher.utter_template("utter_tractor_3", tracker) #dispatcher.utter_message("http://www.swarajtractors.com/uploads/9/Swaraj-841xm.jpg") return [] elif (crop == "कपास"): #message = "मैंने आपके द्वारा बताए गए मापदंडों के अनुसार ट्रैक्टर की सिफारिश प्रस्तुत कर दी है । ट्रैक्टर मॉडल स्वराज 855 एफ ई " #image= "https://5.imimg.com/data5/LC/NQ/MY-31780945/855-fe-swaraj-tractor-500x500.jpg" #dispatcher.utter_message(message) #dispatcher.utter_image_message("https://5.imimg.com/data5/LC/NQ/MY-31780945/855-fe-swaraj-tractor-500x500.jpg") dispatcher.utter_template("utter_tractor_4", tracker) #dispatcher.utter_attachment(image) return [] else: message = "आप द्वारा बताया गया भूमि का आकार दिए गए विकल्पों के अनुरूप नहीं है कृपया सही विकल्प चुने" dispatcher.utter_message(message) return [UserUtteranceReverted()]
def run( self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any], ) -> List["Event"]: # Fallback caused by TwoStageFallbackPolicy if ( len(tracker.events) >= 4 and tracker.events[-4].get("name") == "action_default_ask_affirmation" ): dispatcher.utter_template("utter_restart_with_button", tracker) return [SlotSet("feedback_value", "negative"), ConversationPaused()] # Fallback caused by Core else: dispatcher.utter_template("utter_default", tracker) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): dispatcher.utter_template("utter_is_bot", tracker) return [UserUtteranceReverted()]
def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]: message = "I'm sorry. Please enter expected details." dispatcher.utter_message(message) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): inp = next(tracker.get_latest_entity_values("date"), None) if not inp: dispatcher.utter_message("Please enter a valid date") return [UserUtteranceReverted()] return [SlotSet('date', inp)]
def run(self, dispatcher, tracker, domain): dest = next(tracker.get_latest_entity_values("location"), None) if not dest: dispatcher.utter_message("Please enter a valid airport code") return [UserUtteranceReverted()] return [SlotSet('to', dest)]
def run(self, dispatcher, tracker, domain): dispatcher.utter_template('utter_default', tracker) return [UserUtteranceReverted()]
def run(self, dispatcher, tracker, domain): to_inp = next(tracker.get_latest_entity_values("id"), None) if not to_inp or len(to_inp) < 7: dispatcher.utter_message("Please enter a valid proof ID") return [UserUtteranceReverted()] return [SlotSet('id', to_inp)]
def run(self, dispatcher, tracker, domain): to_inp = next(tracker.get_latest_entity_values("mobile"), None) if not to_inp and len(to_inp) == 10: dispatcher.utter_message("Please enter a valid mobile number") return [UserUtteranceReverted()] return [SlotSet('mobile', to_inp)]
def run(self, dispatcher, tracker, domain): to_inp = next(tracker.get_latest_entity_values("flight_no"), None) if not to_inp: dispatcher.utter_message("Please enter a valid request") return [UserUtteranceReverted()] return [SlotSet('flight_no', to_inp)]