def processRequest(req): log = logger.Log() sessionID = req.get("responseId") user_says = req.get("queryText") result = reg.get("queryResult") log.writeLog(sessionID, "User Says : " + user_says) parameters = req.get("parameters") name = parameters.get("name") pin = parameters.get("pin") mailid = parameters.get("mailid") phone = parameters.get("phone") option_name = paramerers.get("option_name") intent = result.get("intent").get('displayName') if intent == "covid_intent": email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.select_info(option_name) email_sender.send_email_to_student(mailid, email_message) email_file_support = open("email_templates/preventive_Template.html", "r") email_message_support = email_file_support.read() email_sender.send_email_to_support(name=name, phone=phone, mailid=mailid, option_name=option_name, body=email_message_support) fulfillmentText = "We have sent the details to you via email. An email has been sent to the Support Team with your contact information, you'll be contacted soon. Do you have further queries?" log.write_log(sessionID, "Bot Says: " + fulfillmentText) return {"fulfillmentText": fulfillmentText} else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID=req.get('responseId') result = req.get("queryResult") user_says=result.get("queryText") log.write_log(sessionID, "User Says: "+user_says) parameters = result.get("parameters") cust_name=parameters.get("cust_name") #print(cust_name) cust_contact = parameters.get("cust_contact") cust_email=parameters.get("cust_email") course_name= parameters.get("course_name") intent = result.get("intent").get('displayName') if (intent=='course_selection'): email_sender=EmailSender() template= template_reader.TemplateReader() email_message=template.read_course_template(course_name) email_sender.send_email_to_student(cust_email,email_message) email_file_support = open("email_templates/support_team_Template.html", "r") email_message_support = email_file_support.read() email_sender.send_email_to_support(cust_name=cust_name,cust_contact=cust_contact,cust_email=cust_email,course_name=course_name,body=email_message_support) fulfillmentText="We have sent the course syllabus and other relevant details to you via email. An email has been sent to the Support Team with your contact information, you'll be contacted soon. Do you have further queries?" log.write_log(sessionID, "Bot Says: "+fulfillmentText) return { "fulfillmentText": fulfillmentText } else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID=req.get('responseId') result = req.get("queryResult") user_says=result.get("queryText") log.write_log(sessionID, "User Says: "+user_says) parameters = result.get("parameters") cust_name=parameters.get("cust_name") #print(cust_name) cust_contact = parameters.get("cust_contact") cust_email=parameters.get("cust_email") person_name= parameters.get("person_name") intent = result.get("intent").get('displayName') if (intent=='Person_info'): email_sender=EmailSender() #template= template_reader.TemplateReader() #email_message=template.read_person_name(person_name) email_sender.send_email_to_student(cust_email,email_message) # email_file_support = open("email_templates/support_team_Template.html", "r") #email_message_support = email_file_support.read() email_sender.send_email_to_support(cust_name=cust_name,cust_contact=cust_contact,cust_email=cust_email,person_name=person_name,body=email_message_support) fulfillmentText="Happy botting" log.write_log(sessionID, "Bot Says: "+fulfillmentText) return { "fulfillmentText": fulfillmentText } else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") log.write_log(sessionID, "User is: " + user_says) parameters = result.get("parameters") cust_name = parameters.get("usr_name") #print(cust_name) cust_email = parameters.get("usr_email") intent = result.get("intent").get('displayName') if (intent == 'Send_Resume'): email_sender = EmailSender() #template= template_reader.TemplateReader() email_message = "Hello. PFA Shivam Chauhan Resume" email_sender.send_email_to_student(cust_email, email_message) #email_file_support = open("email_templates/support_team_Template.html", "r") #email_message_support = email_file_support.read() #email_sender.send_email_to_support(cust_name=cust_name,cust_contact=cust_contact,cust_email=cust_email,course_name=course_name,body=email_message_support) fulfillmentText = "We have sent the Resume and other details to your email. Thanks you. Do you have further queries?" log.write_log(sessionID, "Bot Says: " + fulfillmentText) return {"fulfillmentText": fulfillmentText} else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") log.write_log(sessionID, "User Says: " + user_says) # log.write_mongodb(sessionID, "User Says: " + user_says) parameters = result.get("parameters") cust_name = parameters.get("user_name") #print(cust_name) cust_contact = parameters.get("user_phone") cust_email = parameters.get("user_email") cust_pincode = parameters.get("user_pincode") cust_pincode = re.sub(' ', '', str(cust_pincode)) intent = result.get("intent").get('displayName') if (intent == 'ZipcodeSelection'): # covid19 = CoronaDataScrap() # data = covid19.scrap_data() #data = pd.read_csv('/DataScrap/Corona_reports.csv') email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template('covid_19_template.html') email_sender.send_email_to_student(cust_email, email_message) # email_file_support = open("email_templates/support_team_Template.html", "r") # #email_message_support = email_file_support.read() #email_sender.send_email_to_support(cust_name=cust_name,cust_contact=cust_contact,cust_email=cust_email,course_name=course_name,body=email_message_support) fulfillmentText = "We have sent the Precautionary Measures and India's covid details to you via email. Stay safe and take care." log.write_log(sessionID, "Bot Says: " + fulfillmentText) #log.write_mongodb(sessionID, "Bot Says: " + fulfillmentText) return {"fulfillmentText": fulfillmentText} else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") bot_says = result.get("fulfillmentText") log.write_log(sessionID, "User Says: " + user_says) parameters = result.get("parameters") cust_name = parameters.get("cust_name") #print(cust_name) cust_contact = parameters.get("cust_contact") cust_email = parameters.get("cust_email") course_name = parameters.get("course_name") intent = result.get("intent").get('displayName') if (intent == 'course_selection'): dbConn = pymongo.MongoClient("mongodb://localhost:27017/") db = dbConn['Chatbot'] collection = db['GD_INeuron_Course_Details'] if collection['SessionID'] == sessionID: collection.update_one( {"SessionId": sessionID}, {"$push": { "Event": { "$each": [user_says, bot_says] } }}, True) else: collection.insert_one({ "SessionId": sessionID, "Name": cust_name, "Contact": cust_contact, "EmailId": cust_email, "Course": course_name, "Events": [user_says, bot_says] }) email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template(course_name) email_sender.send_email_to_student(cust_email, email_message) email_file_support = open("email_templates/support_team_Template.html", "r") email_message_support = email_file_support.read() email_sender.send_email_to_support(cust_name=cust_name, cust_contact=cust_contact, cust_email=cust_email, course_name=course_name, body=email_message_support) fulfillmentText = "We have sent the course syllabus and other relevant details to you via email. An email has been sent to the Support Team with your contact information, you'll be contacted soon. Do you have further queries?" log.write_log(sessionID, "Bot Says: " + fulfillmentText) return {"fulfillmentText": fulfillmentText} else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): log = logger.Log() sessionID=req.get('responseId') result = req.get("queryResult") user_says=result.get("queryText") log.write_log(sessionID, "User Says: "+user_says) parameters = result.get("parameters") cust_name=parameters.get("Name") cust_contact = parameters.get("PhoneNumber") cust_email=parameters.get("Email") course_name= parameters.get("Disease") intent = result.get("intent").get('displayName') if (intent=='appoint_yes_confirm'): email_sender=EmailSender() template= template_reader.TemplateReader() email_message=template.read_course_template(course_name) email_sender.send_email_to_student(cust_email,email_message) email_file_support = open("email_templates/support_team_Template.html", "r") email_message_support = email_file_support.read() email_sender.send_email_to_support(cust_name=cust_name,cust_contact=cust_contact,cust_email=cust_email,course_name=course_name,body=email_message_support) fulfillmentText="An email has been sent to the Support Team with your contact information, you'll be contacted soon with appointment details. " log.write_log(sessionID, "Bot Says: "+fulfillmentText) return { "fulfillmentText": fulfillmentText } if (intent == 'Welcome_Intent'): return { "fulfillmentMessages": [ { "card": { "title": "Hello. Good day. Please choose any of the below.", "buttons": [ { "text": "Need advise.", "postback": "Advise" }, { "text": "Consultation", "postback": "Consultation" }, { "text": "Book Appointment ?", "postback": "Appointment" } ] } } ] } else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText)
def processRequest(req): #log = logger.Log() sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") #log.write_log(sessionID, "User Says: "+user_says) parameters = result.get("parameters") cust_contact = parameters.get("phn_no") course_no = parameters.get("number") cust_name = parameters.get("name") cust_email = parameters.get("email") print(cust_name) print(cust_contact) print(cust_email) print(course_no) if (course_no == 1): course_name = 'DataScienceMasters' elif (course_no == 2): course_name = 'MachineLearningMasters' elif (course_no == 3): course_name = 'DeepLearningMasters' else: course_name = 'NLPMasters' intent = result.get("intent").get('displayName') print(course_name) if (intent == 'course_selection'): email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template(course_name) email_sender.send_email_to_student(cust_email, email_message) fulfillmentText = "We have sent course syllabus and other relevant details to your given email address. An email has sent to support team having your contact information, you will be contacted soon. Do you have further queries?" return {"fulfillmentText": fulfillmentText} else: return "nothing found"
def processRequest(req): log = logger.Log() sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") log.write_log(sessionID, "User Says: "+user_says) parameters = result.get("parameters") #cust_name = parameters.get("name") #cust_contact = parameters.get("mobile") cust_email = parameters.get("mail") cust_city = parameters.get("state") custdistrict = parameters.get('district') intent = result.get("intent").get('displayName') message = 'No Data Found' api_data = get_api_data(custdistrict,cust_city) if api_data.get('status',False): message = api_data['message'] log.write_log('cust', "Cust Details%r"%[cust_city, cust_email, custdistrict]) if (intent== 'zip'): email_sender = EmailSender() email_file = open("email_templates/bot.html", "r") email_message = email_file.read() email_sender.send_email_to_student(cust_email, email_message, message) fulfillmentText = "We have sent the course syllabus " log.write_log('fulfillmentText', "Bot Says: " + fulfillmentText) return { "fulfillmentText": fulfillmentText } else: pass
def processRequest(req): sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") parameters = result.get("parameters") cur = mysql.connection.cursor() cur.execute( "INSERT INTO user_chat_history(sessionId,message, updated_time) VALUES (%s, %s, %s)", (sessionID, "User says: " + user_says + "With parameters:- " + str(parameters), datetime.datetime.utcnow())) mysql.connection.commit() cur.close() name = parameters.get("name") mobile_number = parameters.get("mobile_number") email = parameters.get("email") pin_code = parameters.get("pin_code") geolocator = Nominatim(user_agent="geoapiExercises") location = geolocator.geocode(pin_code) address_info = location.raw["display_name"] print(address_info) data_from_address = geolocator.geocode(address_info, addressdetails=True) address = data_from_address.raw["address"] print(address) country = address["country"] country_code = address["country_code"] if ("state" in address.keys()): state = address["state"] elif ("state_district" in address.keys()): state = address["state_district"] else: state = country if ("city" in address.keys()): city = address["city"] elif ("state_district" in address.keys()): city = address["state_district"] elif ("city_district" in address.keys()): city = address["city_district"] else: city = country if city == "Ahmedabad District": city = "Ahmadabad" if (country == "India"): url = "https://api.covid19india.org/v2/state_district_wise.json" headers = {} response = requests.request("GET", url, headers=headers) res = next( (sub for sub in json.loads(response.text) if sub['state'] == state), None) state_data = res city_data = next( (sub for sub in state_data['districtData'] if sub['district'] in city), None) if city_data != None: total_confimred_cases_in_district = city_data["confirmed"] total_confimred_cases_in_state = sum( d['confirmed'] for d in state_data['districtData'] if d) else: total_confimred_cases_in_district = 0 total_confimred_cases_in_state = 0 print(total_confimred_cases_in_district, total_confimred_cases_in_state) email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template("India_template") email_message = email_message.replace('User', name) email_message = email_message.replace('pin_code', pin_code) email_message = email_message.replace('state', state) email_message = email_message.replace('city', city) email_message = email_message.replace( 'total_No_cases_c', str(total_confimred_cases_in_district)) email_message = email_message.replace( 'total_No_cases_s', str(total_confimred_cases_in_state)) email_sender.send_email_to_student(email, email_message) fulfillmentText = "We have sent the number of corona virus cases in your area and other relevant details to you via email.Do you have further queries?" cur = mysql.connection.cursor() cur.execute( "INSERT INTO user_chat_history(sessionId,message, updated_time) VALUES (%s, %s, %s)", (sessionID, "Bot says: " + fulfillmentText, datetime.datetime.utcnow())) mysql.connection.commit() cur.close() return {"fulfillmentText": fulfillmentText} else: url = "https://covid-19-data.p.rapidapi.com/country/code" querystring = {"format": "json", "code": country_code} headers = { 'x-rapidapi-host': "covid-19-data.p.rapidapi.com", 'x-rapidapi-key': "API-KEY" } response = requests.request("GET", url, headers=headers, params=querystring) counntry_info = json.loads(response.text) confirmed = counntry_info[0]["confirmed"] recovered = counntry_info[0]["recovered"] critical = counntry_info[0]["critical"] deaths = counntry_info[0]["deaths"] email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template("NotIndia_template") email_message = email_message.replace('User', name) email_message = email_message.replace('pin_code', pin_code) email_message = email_message.replace('Country', country) email_message = email_message.replace('total_No_cases_c', str(confirmed)) email_message = email_message.replace('total_No_cases_r', str(recovered)) email_message = email_message.replace('total_No_cases_t', str(critical)) email_message = email_message.replace('total_No_cases_d', str(deaths)) email_sender.send_email_to_student(email, email_message) fulfillmentText = "We have sent the number of corona virus cases in your area and other relevant details to you via email.Do you have further queries?" cur = mysql.connection.cursor() cur.execute( "INSERT INTO user_chat_history(sessionId,message, updated_time) VALUES (%s, %s, %s)", (sessionID, "Bot says: " + fulfillmentText, datetime.datetime.utcnow())) mysql.connection.commit() cur.close() return {"fulfillmentText": fulfillmentText}
def worldData(req): sessionID = req.get('responseId') result = req.get("queryResult") user_says = result.get("queryText") parameters = result.get("parameters") cur = mysql.connection.cursor() cur.execute( "INSERT INTO user_chat_history(sessionId,message, updated_time) VALUES (%s, %s, %s)", (sessionID, "User says: " + user_says + "With parameters:- " + str(parameters), datetime.datetime.utcnow())) mysql.connection.commit() cur.close() name = parameters.get("name") email = parameters.get("email") url = " https://corona-api.com/countries" headers = {} response = requests.request("GET", url, headers=headers) data = json.loads(response.text) country = [] country_code = [] latitude = [] longitude = [] population = [] confirmed = [] recoverd = [] deaths = [] for items in data["data"]: latitude.append(items["coordinates"]["latitude"]) longitude.append(items["coordinates"]["longitude"]) population.append(items["population"]) country.append(items["name"]) country_code.append(items["code"]) confirmed.append(items["latest_data"]["confirmed"]) recoverd.append(items["latest_data"]["recovered"]) deaths.append(items["latest_data"]["deaths"]) dict1 = { 'country': country, 'county_code': country_code, 'latitude': latitude, 'longitude': longitude, 'population': population, 'confirmed': confirmed, 'recoverd': recoverd, 'deaths': deaths } df = pd.DataFrame(dict1) # saving the dataframe df.to_csv('world_stats.csv') a = createMap() email_sender = EmailSender() template = template_reader.TemplateReader() email_message = template.read_course_template("Worldwide_Template") email_message = email_message.replace('User', name) email_message = email_message.replace( 'corona-url', os.path.join(BASE_DIR, 'covid-19\email_templates\world_map.html')) email_sender.send_email_to_student(email, email_message) fulfillmentText = "We have sent the visulization of corona effects world wide and other relevant details to you via email.Do you have further queries?" cur = mysql.connection.cursor() cur.execute( "INSERT INTO user_chat_history(sessionId,message, updated_time) VALUES (%s, %s, %s)", (sessionID, "Bot says: " + fulfillmentText, datetime.datetime.utcnow())) mysql.connection.commit() cur.close() return {"fulfillmentText": fulfillmentText}