コード例 #1
0
 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 []
コード例 #2
0
 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()]
コード例 #3
0
ファイル: actions.py プロジェクト: Sureshkhetawat/RasaChatbot
 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)]
コード例 #4
0
 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 []
コード例 #5
0
 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()]
コード例 #6
0
    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))]
コード例 #7
0
 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()]
コード例 #8
0
ファイル: actions.py プロジェクト: Sureshkhetawat/RasaChatbot
 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)]
コード例 #9
0
 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)]
コード例 #10
0
 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)]
コード例 #11
0
 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)]
コード例 #12
0
    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))]
コード例 #13
0
 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 []
コード例 #14
0
ファイル: actions.py プロジェクト: shantgiron/Regis
    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 []
コード例 #15
0
    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)]
コード例 #16
0
    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)]
コード例 #17
0
ファイル: actions.py プロジェクト: shantgiron/Regis
    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 []
コード例 #18
0
ファイル: actions.py プロジェクト: swainshashwat/rasa-demo
    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()]
コード例 #19
0
    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()]
コード例 #20
0
    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()]
コード例 #21
0
ファイル: actions.py プロジェクト: zenglime/rasa-demo
    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()]
コード例 #22
0
ファイル: actions.py プロジェクト: harishb555/rabot
 def run(self, dispatcher, tracker, domain):
     dispatcher.utter_template("utter_is_bot", tracker)
     return [UserUtteranceReverted()]
コード例 #23
0
    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()]
コード例 #24
0
ファイル: actions.py プロジェクト: reidfalconer/kiwibot
 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)]
コード例 #25
0
ファイル: actions.py プロジェクト: reidfalconer/kiwibot
 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)]
コード例 #26
0
 def run(self, dispatcher, tracker, domain):
     dispatcher.utter_template('utter_default', tracker)
     return [UserUtteranceReverted()]
コード例 #27
0
 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)]
コード例 #28
0
 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)]
コード例 #29
0
 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)]