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) # 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("cust_name") cust_contact = parameters.get("cust_contact") cust_email = parameters.get("cust_email") pin_code = parameters.get("pin_code") intent = result.get("intent").get('displayName') if (intent == 'CORONA_BY_PINCODE'): results = getFrmPincode(pin_code) district_name = results[0]["PostOffice"][0]["District"] state_name = results[0]["PostOffice"][0]["State"] country_name = results[0]["PostOffice"][0]["Country"] print(district_name) # delete fulfillmentText = " " state_data = getStateCovidCases(state_name) print(state_data) print(len(state_data['districtData'])) try: district_data = getDistrictCovidCases(state_data, district_name) if district_data['active'] > 0: messageTxt = getCovidDist(district_data) fulfillmentText = district_name + '(' + pin_code + ')' + ' -- ' + messageTxt print(fulfillmentText) #delete # Store the details to database dbConn = pymongo.MongoClient("mongodb://localhost:27017/" ) # opening a connection to Mongo db = dbConn[ 'covidReqDB'] # connect to the database called covidReqDB dateTimeObj = datetime.now() mydict = { "Name": cust_name, "Email": cust_email, "Pincode": pin_code, "Contact": cust_contact, "Time_Stamp": dateTimeObj } # saving that detail to a dictionary collection = db[cust_email] collection.insert_one(mydict) # inserting the dictionary except Exception as e: messageTxt = getCovidState(state_data) fulfillmentText = messageTxt template = template_reader.TemplateReader() email_message = template.read_covid_template() email_sender = EmailSender() email_sender.send_email(cust_name, cust_email, email_message, fulfillmentText) fulfillmentText += "We have sent the preventive measures of Carona(Covid-19) disease to you via email. Do you have any queries?" log.write_log(sessionID, "Bot Says: " + fulfillmentText) return {"fulfillmentText": fulfillmentText} else: log.write_log(sessionID, "Bot Says: " + result.fulfillmentText) if (intent == 'CORONA_MAP_INDIA'): webbrowser.open('https://www.covid19india.org/') if (intent == 'CORONA_BY_WORLD'): webbrowser.open( 'https://news.google.com/covid19/map?hl=en-IN&gl=IN&ceid=IN:en')
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}