def tintucmoi(): url = 'https://vnexpress.net' page = urllib.request.urlopen(url) soup = BeautifulSoup(page, 'html.parser') new_feeds = soup.find('section', class_='featured container clearfix').find_all('a') i = 0 tintuc_candoc = "" for feed in new_feeds: i += 1 title = feed.get('title') if len(str(title)) > 10 and i > 1: tintuc_candoc = str(tintuc_candoc) + " . " + str(title) if i > 15: break print(tintuc_candoc) speaking.speak(tintuc_candoc)
def more_info_friendly(data, friendly_name): continuego = 1 if friendly_name == []: qa = 0 while qa < 3: qa += 1 speaking.speak('tác vụ cần làm là gì') more_data = processss.re_ask() if 'HỦY' in more_data.upper(): speaking.speak('thoát chế độ hẹn giờ') continuego = 0 break else: friendly_name = processss.find_hass_friendly_name( more_data) if friendly_name == []: pass else: data = more_data break return data, friendly_name, continuego
def devices(self,sp): a=sp.devices() a=a['devices'] device_list=[] i=1 for ass in a: name=ass['name'] id=ass['id'] volume_cur=ass['volume_percent'] ee=[i,name,id,volume_cur] device_list.append(ee) print(device_list) i+=1 if len(device_list)>1: speaking.speak('em tìm thấy '+str(len(device_list))+ ' thiết bị đang chạy Spotify, anh cần chạy trên thiết bị nào') for ii in device_list: speaking.speak('Thiết bị số '+ str(ii[0])+ ' là '+str(ii[1]) ) hoi_lai=re_ask() print(hoi_lai) for iis in device_list: if str(iis[0]).upper() in str(hoi_lai).upper() or str(iis[1]).upper() in str(hoi_lai).upper(): id=iis[2] namen=iis[1] volume_cur=iis[3] print(str(id)) break else: id=device_list[0][2] namen=device_list[0][1] volume_cur=device_list[0][3] print(str(id)) return id,namen,volume_cur elif len(device_list)==1: id=device_list[0][2] namen=device_list[0][1] volume_cur=device_list[0][3] return id,namen,volume_cur else: sai='no' return sai
def wt(data): fio = weth.darksky_weather() if "HIỆN TẠI" in data or "HÔM NAY" in data: icon = '' current_weather = weth.darksky_currently(fio) if current_weather[2].upper() == 'RAIN': icon = 'mưa' elif current_weather[2].upper() == 'PARTLY-CLOUDY-NIGHT': icon = 'buổi tối trời nhiều mây' elif current_weather[2].upper() == 'PARTLY-CLOUDY-DAY': icon = 'trời nhiều mây' elif current_weather[2].upper() == 'CLEAR-DAY': icon = 'trời trong xanh' elif current_weather[2].upper() == 'CLEAR-NIGHT': icon = 'đêm trời đẹp' elif current_weather[2].upper() == 'WIND': icon = 'có gió lớn' elif current_weather[2].upper() == 'CLOUDY': icon = 'trời nhiều mây' elif current_weather[2].upper() == 'FOG': icon = 'trời nhiều sương mù' speaking.speak(current_weather[0] + current_weather[1] + icon) elif "NGÀY MAI" in data: hourly_weather = weth.darksky_hourly(fio) speaking.speak(' nhìn chung ' + hourly_weather) else: speaking.speak('em không hiểu')
def more_info_time(data, time_in_data): continue_go = 1 time_in_data = check_time_in(data) if time_in_data == []: qb = 0 while qb < 3: qb += 1 speaking.speak('cung cấp thời điểm thực hiện') more_data1 = processss.re_ask() if 'HỦY' in more_data1.upper(): speaking.speak('thoát khỏi chế độ hẹn giờ') continue_go = 0 break else: time_in_data = check_time_in(more_data1) if time_in_data == []: pass else: break return time_in_data, continue_go
def fetchData(url): URL = "http://www.weather-forecast.com/locations/" + url + "/forecasts/latest" try: res = urllib2.urlopen(URL) except: speaking.speak("Sorry Haven't listen about it") return data = res.read() soup = BeautifulSoup(data, "html.parser") #print(data) t = soup.find_all("td", class_="num_cell dark temp-color1") t += soup.find_all("td", class_="num_cell dark temp-color2") t += soup.find_all("td", class_="num_cell dark temp-color3") t += soup.find_all("td", class_="num_cell dark temp-color4") t += soup.find_all("td", class_="num_cell dark temp-color5") temp_list = [] m = re.search('class="temp"', str(t)) s = m.end() + 1 e = re.search('</span>', str(t)) l = e.start() temp_list.append(int(str(t)[s:l])) speaking.speak(str(sum(temp_list) / len(temp_list)) + ' Degree Celsius')
def bot(): speaking.speak("What do you want to search") data = microphone.record() data = urllib.quote(data) print(data)
def speak(audioString): speaking.speak(audioString)
def wifi(data): data = data[0:len(data) - 6] rep = wk.find_info(data) rep = rep.find_wiki() speaking.speak('Theo wikipedia: ' + rep)
def hamthucthi(row0_in_db, data, friendly_name_hass, sta): global player print('[MAIN] - THỰC THI TÁC VỤ') print('---------') processss.timlenhtrongdata(data) if row0_in_db == "KHỎE KHÔNG": answer("tôi khỏe.", "khỏe lắm chủ nhân", "khỏe chứ chủ nhân.") #camera - dieu khien xoay elif row0_in_db == "CAMERA": print('vao camera') a = ptz.control('http://192.168.9.121', 'admin', 'Emilybro2013') datapreset = data datapreset = datapreset.split() iiii = 0 while iiii < len(datapreset): if datapreset[iiii].isnumeric() == True: preset_number = datapreset[iiii] break else: iiii += 1 try: a.set_preset(preset_number) except: pass if 'LÊN' in data.upper(): print('vao len') a.len() time.sleep(2) return if 'XUỐNG' in data.upper(): a.xuong() time.sleep(2) return if 'TRÁI' in data.upper(): a.trai() time.sleep(2) return if 'PHẢI' in data.upper(): a.phai() time.sleep(2) return # Âm lịch elif row0_in_db == "ÂM LỊCH": check_day = [] if 'MAI' in data: check_day = amlich.ngaymai() elif 'MỐT' in data: check_day = amlich.ngaymot() elif 'QUA' in data: check_day = amlich.homqua() elif 'NAY' in data: check_day = amlich.homnay() else: check_day = amlich.ngaykhac(data) amlich.kiemtra_amlich(check_day[0], check_day[1], check_day[2], check_day[3], check_day[4]) #Hỏi thứ elif row0_in_db == "THỨ MẤY": check_thu = [] if 'MAI' in data: check_thu = thu.ngaymai() elif 'MỐT' in data: check_thu = thu.ngaymot() elif 'QUA' in data: check_thu = thu.homqua() elif 'NAY' in data: check_thu = thu.homnay() else: check_thu = thu.ngaykhac(data) result_thu = thu.kiemtra_thu(check_thu[0], check_thu[1], check_thu[2], check_thu[3], check_thu[4]) speaking.speak(result_thu[0] + " là " + result_thu[1] + result_thu[2] + ' tháng ' + str(result_thu[3])) # Ngày lễ elif row0_in_db == "NGÀY LỄ": ngayle_res = [] ngayle_res = ngayle.ngayle_check(data) speaking.speak(ngayle_res[0] + ' Còn ' + str(ngayle_res[1]) + ' ngày nữa là đến ' + ngayle_res[2] + '. Đó là ngày ' + ngayle_res[3] + ' tháng ' + ngayle_res[4] + ' năm ' + ngayle_res[5]) #Cảm ơn elif row0_in_db == "CẢM ƠN": answer('không có chi. ', 'rất vui vì giúp được chủ nhân ', ' đừng bận tâm ') #HELP elif row0_in_db == "TRỢ GIÚP": if 'THỜI TIẾT' in data: speaking.speak( 'Có thể hỏi các câu hỏi bao gồm các từ như, Thời tiết hôm nay, ngày mai' ) elif 'GIỜ' in data: speaking.speak('Đặt câu hỏi mấy giờ rồi') elif 'NGÀY' in data: speaking.speak( 'Hỏi thứ mấy, ngày nào. Có thể hỏi ngày mai là thứ mấy, ngày 30 tháng 4 là thứ mấy, vv.' ) elif 'ÂM LỊCH' in data: speaking.speak('Hỏi âm lịch hôm nay, ngày mai, ngày bất kì') elif 'DỊCH' in data: speaking.speak( 'Dịch từ tHoặc dịch cả câu với cấu trức: Dịch câu sau sang tiếng nào đó. Sau đó chờ âm báo rồi đọc câu. Ngôn ngữ hỗ trợ: Việt, chủ nhân, Trung, Nhật, Hàn.' ) elif 'THÔNG TIN' in data: speaking.speak( 'Có thể hỏi thông tin bằng câu với kết thúc là gì hoặc là ai. Ví dụ, Hồ Chí Minh là ai.' ) elif 'LỆNH' in data: speaking.speak( 'Có thể bật, tắt, điều chỉnh nhiệt độ máy lạnh .... bằng các câu lệnh đơn giản như: bật đèn, tắt đèn, ....' ) elif 'NHẠC' in data: speaking.speak( 'Dùng lệnh Phát rồi gọi tên bài hát, playlist muốn nghe. Muốn qua bài thì dùng lệnh Tiếp theo. Dừng với lệnh Dừng nhạc' ) elif 'HẸN GIỜ' in data: speaking.speak( 'Dùng lệnh hẹn giờ cộng thời gian, hủy với lệnh hủy hẹn giờ') elif 'NGÀY LỄ' in data: speaking.speak( 'Hỏi còn bao nhiêu ngày nữa là đến ngày lễ. Các ngày lễ có sẵn bao gồm, Tết Tây, Tết ta, 30 tháng 4, trung thu, giỗ tổ, quốc khánh. ' ) else: speaking.speak( 'Các lệnh thường dùng, Hỏi giờ, thời tiết, thứ ngày tháng, thông tin, lệnh, phát nhạc, hẹn giờ, dịch từ, dịch câu, âm lịch, ngày lễ. Dùng lệnh trợ giúp kèm theo các lệnh muốn tra cứu để được hướng dẫn chi tiết hơn.' ) #Hỏi giờ elif row0_in_db == "MẤY GIỜ": import speaking from time import ctime, strftime gio = strftime("%H") gio = list(gio) phut = strftime("%M") phut = list(phut) if gio[0] == '1': if gio[1] == '0': docgio = 'mười giờ ' else: docgio = 'mười ' + gio[1] + ' giờ ' elif gio[0] == '0': docgio = gio[1] + ' giờ ' elif gio[0] == '2': if gio[1] == '0': docgio = 'hai mươi giờ ' elif gio[1] == '1': docgio = 'hai mươi mốt giờ ' else: docgio = 'hai mươi ' + gio[1] + ' giờ ' if phut[0] == '0': docphut = phut[1] + ' phút ' elif phut[0] == '1': if phut[1] == '0': docphut = ' mười phút ' else: docphut = ' mười ' + phut[1] + ' phút ' else: if phut[1] == '0': docphut = phut[0] + ' mươi phút ' elif phut[1] == '1': docphut = phut[0] + ' mươi mốt phút ' else: docphut = phut[0] + ' mươi ' + phut[1] + ' phút ' speaking.speakvn("BÂY GIỜ LÀ " + docgio + docphut) #Tin tức (TTS) elif row0_in_db == "TIN TỨC": tintuc.tintucmoi() elif row0_in_db == "XỔ SỐ": print('Kết quả xổ số') loto.check(data) #Truyện cười elif row0_in_db == "CƯỜI": truyen = fun.truyen() speaking.speak(truyen) elif row0_in_db == "RADIO": try: player.stop() except: pass player = radio.phat_radio(data) elif row0_in_db == "ĐI NGỦ": pass elif row0_in_db == "LÀ GÌ": def wifi(data): data = data[0:len(data) - 6] rep = wk.find_info(data) rep = rep.find_wiki() speaking.speak('Theo wikipedia: ' + rep) speaking.speak('để tôi tìm xem nào') execute.run_thread(wifi, data) # Phát video elif row0_in_db == "PHÁT": if spotify == 1: global spotipy try: player.stop() except: pass spotipy = spot.play_current_playlist(spotify_username, spotify_client_id, spotify_client_secret, 'http://localhost:9999/', data) if spotify == 0: global link_yt try: we.put('quit') w.put('quit') wet.put('quit') except: print('er put') we = queue.Queue() locationtim = data.find('PHÁT') data = data[locationtim + 5:len(data)] query_string = urllib.parse.urlencode({"search_query": data}) html_content = urllib.request.urlopen( "http://www.youtube.com/results?" + query_string) search_results = re.findall(r'href=\"\/watch\?v=(.{11})', html_content.read().decode()) random_song = random.randint(0, 10) urlyt = "http://www.youtube.com/watch?v=" + search_results[ random_song] search_pre_write = (search_results[0], search_results[1], search_results[2], search_results[3], search_results[4], search_results[5], search_results[6], search_results[7], search_results[8], search_results[9], search_results[10], random_song) import speaking import threading import vlc import pafy import gih speaking.speakvn('Chuẩn bị phát nhạc') def yt_play(urlyt, we): try: video = pafy.new(urlyt) best = video.getbestaudio() playurl = best.url Instance = vlc.Instance() player = Instance.media_player_new() Media = Instance.media_new(playurl) Media.get_mrl() player.set_media(Media) player.play() we.put('start') m = alsaaudio.Mixer() vol = m.getvolume() vol = int(vol[0]) player_volume = vol player.audio_set_volume(player_volume) while True: player.play() item = we.get() if item == 'quit': player.stop() break if item == 'listen_mode': m = alsaaudio.Mixer() vol = m.getvolume() vol = int(vol[0]) player_volume = vol player.audio_set_volume(player_volume - 35) if item == 'normal_mode': m = alsaaudio.Mixer() vol = m.getvolume() vol = int(vol[0]) player_volume = vol player.audio_set_volume(player_volume - 35) time.sleep(0.7) player.audio_set_volume(player_volume - 25) time.sleep(0.7) player.audio_set_volume(player_volume - 15) time.sleep(0.7) player.audio_set_volume(player_volume) except Exception as e: print('error vlc') print(e) t = threading.Thread(target=yt_play, args=(urlyt, we)) t.start() link_yt = gih.info_user() with link_yt: link_yt_ex = link_yt.cursor() link_yt_ex.execute( "INSERT INTO link_music_youtube VALUES(?,?,?,?,?,?)", search_pre_write) else: player = radio.play_nhac(data, friendly_name_hass) player.play() elif row0_in_db == "TIẾP THEO": if spotify == 1: try: player.stop() except: pass spotipy = spot.play_current_playlist(spotify_username, spotify_client_id, spotify_client_secret, 'http://localhost:9999/', data) else: player = radio.phat_tiep_theo() # Google word translate elif row0_in_db == "CÓ NGHĨA": from googletrans import Translator translator = Translator() print(data) data = data.replace('TỪ ', '') data = data.replace('TRONG ', '') # print ('Edit ' + data) # To Vietnamese if 'VIỆT' in data: m = re.search('(.+?) TIẾNG VIỆT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='vi') print(translations.text) speaking.speak('Từ ') speaking.speaken(dataen) speaking.speak('trong tiếng việt nghĩa là: ' + translations.text) #To English elif 'TIẾNG chủ nhân' in data: m = re.search('(.+?) TIẾNG chủ nhân', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='en') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng chủ nhân nghĩa là: ') speaking.speaken(translations.text) # To Korean elif 'TIẾNG HÀN' in data: m = re.search('(.+?) TIẾNG HÀN', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ko') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Hàn nghĩa là: ') speaking.speakko(translations.text) # To Japanese elif 'TIẾNG NHẬT' in data: m = re.search('(.+?) TIẾNG NHẬT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ja') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Nhật nghĩa là: ') speaking.speakja(translations.text) # To Chinese elif 'TIẾNG TRUNG' in data: m = re.search('(.+?) TIẾNG TRUNG', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='zh-cn') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng TRUNG nghĩa là: ') speaking.speakzh(translations.text) # Google sentence translate elif row0_in_db == "DỊCH CÂU": from googletrans import Translator translator = Translator() continue_go = 1 speaking.speak('OK, đọc câu cần dịch đi chủ nhân') processss.mixer.music.load('resources/ding.wav') processss.mixer.music.play() more_data = processss.re_ask() print(more_data) if len(more_data) > 0: while True: print('Google translate: ' + data) print('Data translate: ' + more_data) processss.mixer.music.load('resources/dong.wav') processss.mixer.music.play() if 'TIẾNG ANH' in data: translations = translator.translate(more_data, dest='en') print(translations.text) speaking.speaken(translations.text) continue_go = 1 if 'TIẾNG VIỆT' in data: translations = translator.translate(more_data, dest='vi') print(translations.text) speaking.speak(translations.text) continue_go = 1 if 'TIẾNG HÀN' in data: translations = translator.translate(more_data, dest='ko') print(translations.text) speaking.speakko(translations.text) continue_go = 1 if 'TIẾNG TRUNG' in data: translations = translator.translate(more_data, dest='zh-cn') print(translations.text) speaking.speakzh(translations.text) continue_go = 1 if 'TIẾNG NHẬT' in data: translations = translator.translate(more_data, dest='ja') print(translations.text) speaking.speakja(translations.text) continue_go = 1 if 'HỦY' in more_data: speaking.speak('thoát khỏi chế độ dịch') continue_go = 0 break else: break else: speaking.speakvn('Xin lỗi, tôi không nghe được câu hỏi') # Hẹn giờ elif row0_in_db == "HẸN GIỜ": onoff.hen_gio(data) elif row0_in_db == "HỦY HẸN GIỜ": onoff.t1.cancel() speaking.speak("đã hủy hẹn giờ ") elif row0_in_db == "DỪNG": if spotify == 1: try: player.stop() except Exception as e: print(e) pass at = spot.spo(spotify_username, spotify_client_id, spotify_client_secret, 'http://localhost:9999/') sp = at.assign() de = sp.devices() de = de['devices'] for des in de: print(des['id']) try: at.pause(sp, des['id']) except Exception as t: print(t) pass else: try: w.put('quit') except: pass try: we.put('quit') except: pass try: wet.put('quit') except: pass elif row0_in_db == "TO LÊN": radio.to_len() elif row0_in_db == "NHỎ XUỐNG": radio.nho_xuong() elif row0_in_db == "ÂM LƯỢNG": vol_extract = radio.amluong(data) speaking.speak("thiết lập âm lượng mức " + str(vol_extract)) elif row0_in_db == "THIẾT LẬP": onoff.thietlap(friendly_name_hass, sta, data) elif row0_in_db == "MỞ": onoff.on_mo(friendly_name_hass, data) elif row0_in_db == "TẮT": onoff.off_tat(friendly_name_hass, data) elif row0_in_db == "TÊN": if "tôi" in data: answer( 'tôi là BOT LB', 'tôi là LB ', 'tôi tên LB', ) elif row0_in_db == "": speaking.speak('tôi không hiểu rồi đại ca ơi') # Trạng thái elif row0_in_db == "TRẠNG THÁI": onoff.trangthai(sta) #Thời tiết elif row0_in_db == "THỜI TIẾT": import speaking import gih latlong = gih.get_config('toado') import datetime from datetime import timedelta x = datetime.datetime.now() answer('đang kiểm tra thông tin thời tiết', 'để tôi kiểm tra', 'tôi kiểm tra ngay') if 'NGÀY MAI' in data: y = x + datetime.timedelta(1) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speakvn('Ngày mai ' + tt[day]['overal'] + ', Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C, Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') elif 'HÔM NAY' in data: tt = wt.current('latlon', latlong) speaking.speakvn('Hôm nay ' + tt['overal'] + ', Nhiệt độ là ' + str(tt['temp']) + ' độ C, độ ẩm là ' + str(tt['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt['wind']) + ' km/h.') elif 'GIỜ TỚI' in data: string = data num = [int(s) for s in string.split() if s.isdigit()] if len(num) > 0: from datetime import timedelta y = x + timedelta(hours=num[0]) if y.hour < 25: day = 'today' ngay = ' giờ hôm nay ' elif y.hour > 24: day = 'tomorrow' ngay = ' giờ ngày mai ' tt = wt.hourly('latlon', latlong) speaking.speakvn('Thời tiết lúc ' + str(y.hour) + ngay + tt[day]["%.1f" % y.hour]['overal'] + ', Nhiệt độ là ' + str(tt[day]["%.1f" % y.hour]['temp']) + ' độ C, độ ẩm là ' + str(tt[day]["%.1f" % y.hour]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]["%.1f" % y.hour]['wind']) + ' km/h.') else: pass elif 'TUẦN' in data.upper(): for i in range(1, 7): y = x + datetime.timedelta(i) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speakvn('Ngày ' + day + tt[day]['overal'] + ', Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C, Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') elif 'NGÀY TỚI' in data.upper(): string = data num = [int(s) for s in string.split() if s.isdigit()] if len(num) > 0: for i in range(0, num): y = x + datetime.timedelta(i) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speak('Ngày ' + day + tt[day]['overal'] + ' Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C ' + ' Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') else: tt = wt.current('latlon', latlong) speaking.speakvn('Hôm nay ' + tt['overal'] + ', Nhiệt độ là ' + str(tt['temp']) + ' độ C, độ ẩm là ' + str(tt['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt['wind']) + ' km/h.') else: answer('tôi không hiểu', 'tôi nghe không rõ', ' vui lòng nói lại đi')
def answer(ans1, ans2, ans3): caunoi = [ans1, ans2, ans3] spea = random.choice(caunoi) speaking.speak(spea)
def kiemtra_amlich(a, ngay, yy, mm, dd): lunar_date = S2L(dd, mm, yy) ngay_am = str(lunar_date[0]) list_thang = [ "tháng Giêng", "tháng Hai", "tháng Ba", "tháng Tư", "tháng Năm", "tháng Sáu", "tháng Bảy", "tháng Tám", "tháng Chín", "tháng Mười", "tháng Mười một", "tháng Chạp" ] thang_am = int(str(lunar_date[1])) - 1 thang_am1 = list_thang[thang_am] can = [ 'Canh ', 'Tân ', 'Nhâm ', 'Quý ', 'Giáp ', 'Ất ', 'Bính ', 'Đinh ', 'Mậu ', 'Kỷ ' ] chi = [ 'Thân', 'Dậu', 'Tuất', 'Hợi', 'Tí', 'Sửu', 'Dần', 'Mão', 'Thìn', 'Tị', 'Ngọ', "Mùi" ] nam = int(str(lunar_date[2])) vitri_can = nam % 10 vitri_chi = nam % 12 nam_am = str(lunar_date[2]) # lunar_text2 = 'Ngày: ' + str(lunar_date[0]) + ' - ' + thang_am1 + ' năm ' + can[vitri_can] + chi[vitri_chi] + ' (' + str(lunar_date[2]) +')' ss = int(ngay_am) nam_nhuan = int(str(lunar_date[3])) if ss == 15: speaking.speak(a + " là ngày rằm " + thang_am1 + 'năm ' + can[vitri_can] + ' ' + chi[vitri_chi] + ' ' + nam_am) elif ss == 1: speaking.speak(a + " là ngày mùng một " + thang_am1 + 'năm ' + can[vitri_can] + ' ' + chi[vitri_chi] + ' ' + nam_am) elif ss > 1 and ss < 15: days_left = 15 - ss speaking.speak(a + " là ngày " + ngay_am + ' ' + thang_am1 + ' năm ' + can[vitri_can] + ' ' + chi[vitri_chi] + ' ' + nam_am + ". Còn " + str(days_left) + " ngày nữa là đến rằm") elif ss > 15 and ss < 31: thang_sau = thang_am + 1 if thang_am <= 12: nam_a = nam_am else: nam_a = nam_am + 1 # ny = yy + 1 a2d = L2S(28, 12, yy, nam_nhuan) nd = a2d[0] td = a2d[1] nmd = a2d[2] daa = str(nd) + '-' + str(td) + '-' + str(nmd) a2dnew = datetime.datetime.strptime(daa, '%d-%m-%Y') ngaytet = a2dnew.day thangtet = a2dnew.month namtet = a2dnew.year nammoi = S2L(ngaytet, thangtet, namtet) nam_nhuan = int(str(nammoi[3])) next = L2S(1, thang_sau, int(nam_a), nam_nhuan) nd = next[0] td = next[1] nmd = next[2] daa = str(nd) + '-' + str(td) + '-' + str(nmd) a2dnew = datetime.datetime.strptime(daa, '%d-%m-%Y') delta = a2dnew - datetime.datetime.today() days_left = delta.days thang_am = list_thang[thang_am] ngay_am = str(lunar_date[0]) speaking.speak(a + ' là ngày ' + ngay_am + ' ' + thang_am + ' năm ' + can[vitri_can] + ' ' + chi[vitri_chi] + ' ' + nam_am) else: speaking.speak( str(a) + ' là ngày ' + str(ngay_am) + ' ' + str(thang_am) + ' năm ' + str(can[vitri_can]) + ' ' + str(chi[vitri_chi]) + ' ' + str(nam_am))
def check(data): diaphuong = [ 'NAM', 'TRUNG', 'MIỀN BẮC', 'AN GIANG', 'BÌNH DƯƠNG', 'BÌNH ĐỊNH', 'BẠC LIÊU', 'BÌNH PHƯỚC', 'BẾN TRE', 'BÌNH THUẬN', 'CÀ MAU', 'CẦN THƠ', 'ĐẮC LẮC', 'ĐỒNG NAI', 'ĐÀ NẴNG', 'ĐẮC NÔNG', 'ĐỒNG THÁP', 'GIA LAI', 'THÀNH PHỐ', 'HẬU GIANG', 'KIÊN GIANG', 'KHÁNH HÒA', 'KON TUM', 'LONG AN', 'LÂM ĐỒNG', 'NINH THUẬN', 'PHÚ YÊN', 'QUẢNG BÌNH', 'QUẢNG NGÃI', 'QUẢNG NAM', 'QUẢNG TRỊ', 'SÓC TRĂNG', 'TIỀN GIANG', 'TÂY NINH', 'HUẾ', 'TRÀ VINH', 'VĨNH LONG', 'VŨNG TÀU' ] diaphuong_ = np.array(diaphuong) rss = [ 'https://xskt.com.vn/rss-feed/mien-nam-xsmn.rss', 'https://xskt.com.vn/rss-feed/mien-trung-xsmt.rss', 'https://xskt.com.vn/rss-feed/mien-bac-xsmb.rss', 'https://xskt.com.vn/rss-feed/an-giang-xsag.rss', 'https://xskt.com.vn/rss-feed/binh-duong-xsbd.rss', 'https://xskt.com.vn/rss-feed/binh-dinh-xsbdi.rss', 'https://xskt.com.vn/rss-feed/bac-lieu-xsbl.rss', 'https://xskt.com.vn/rss-feed/binh-phuoc-xsbp.rss', 'https://xskt.com.vn/rss-feed/ben-tre-xsbt.rss', 'https://xskt.com.vn/rss-feed/binh-thuan-xsbth.rss', 'https://xskt.com.vn/rss-feed/ca-mau-xscm.rss', 'https://xskt.com.vn/rss-feed/can-tho-xsct.rss', 'https://xskt.com.vn/rss-feed/dac-lac-xsdlk.rss', 'https://xskt.com.vn/rss-feed/dong-nai-xsdn.rss', 'https://xskt.com.vn/rss-feed/da-nang-xsdng.rss', 'https://xskt.com.vn/rss-feed/dac-nong-xsdno.rss', 'https://xskt.com.vn/rss-feed/dong-thap-xsdt.rss', 'https://xskt.com.vn/rss-feed/gia-lai-xsgl.rss', 'https://xskt.com.vn/rss-feed/tp-hcm-xshcm.rss', 'https://xskt.com.vn/rss-feed/hau-giang-xshg.rss', 'https://xskt.com.vn/rss-feed/kien-giang-xskg.rss', 'https://xskt.com.vn/rss-feed/khanh-hoa-xskh.rss', 'https://xskt.com.vn/rss-feed/kon-tum-xskt.rss', 'https://xskt.com.vn/rss-feed/long-an-xsla.rss', 'https://xskt.com.vn/rss-feed/lam-dong-xsld.rss', 'https://xskt.com.vn/rss-feed/ninh-thuan-xsnt.rss', 'https://xskt.com.vn/rss-feed/phu-yen-xspy.rss', 'https://xskt.com.vn/rss-feed/quang-binh-xsqb.rss', 'https://xskt.com.vn/rss-feed/quang-ngai-xsqng.rss', 'https://xskt.com.vn/rss-feed/quang-nam-xsqnm.rss', 'https://xskt.com.vn/rss-feed/quang-tri-xsqt.rss', 'https://xskt.com.vn/rss-feed/soc-trang-xsst.rss', 'https://xskt.com.vn/rss-feed/tien-giang-xstg.rss', 'https://xskt.com.vn/rss-feed/tay-ninh-xstn.rss', 'https://xskt.com.vn/rss-feed/thua-thien-hue-xstth.rss', 'https://xskt.com.vn/rss-feed/tra-vinh-xstv.rss', 'https://xskt.com.vn/rss-feed/vinh-long-xsvl.rss', 'https://xskt.com.vn/rss-feed/vung-tau-xsvt.rss' ] loc = pos_tag(data) # print(loc) m = np.array(loc) n = np.intersect1d(diaphuong_, m) nn = str(n[0]) print('Địa phuong: ' + nn) o = diaphuong.index(nn) url = str(rss[o]) d = feedparser.parse(url) if 'CŨ HƠN' in data: tg = d['entries'][1]['title'] kq = d['entries'][1]['description'] # print(kq) else: tg = d['entries'][0]['title'] kq = d['entries'][0]['description'] print(kq) kq = kq.replace(']', ': ') kq = kq.replace('ĐB:', 'Giải đặc biệt:') kq = kq.replace('1:', 'Giải nhất:') kq = kq.replace('2:', 'Giải nhì:') kq = kq.replace('3:', 'Giải ba:') kq = kq.replace('4:', 'Giải tư:') kq = kq.replace('5:', 'Giải năm:') kq = kq.replace('6:', 'Giải sáu:') kq = kq.replace('7:', 'Giải bảy:') x = kq.split("[") speaking.speak(tg) ketqua = '. '.join(x) ketqua = ketqua.replace('\n', '. ') speaking.speak(ketqua) return ketqua print(ketqua)
try: # volume=dem.spotipy[1].devices(dem.spotipy[0]) # volume=volume[2] print('volume sau khi giam: ' + str(volume)) spotipy.volume(volume - 35) time.sleep(0.1) spotipy.volume(volume - 20) time.sleep(0.1) spotipy.volume(volume) except Exception as e: print('spotify: ' + str(e)) pixels.pixels.off() print(colored('*****************SẴN SÀNG CHỜ GỌI****************', 'green')) speaking.speak('Xin chào, tôi là Jarvis, trợ lý ảo cho ngôi nhà thông minh.') print( '------------------------------------------------------------------------------' ) print('') time.sleep(0.1) print( colored('[MAIN]: THIẾT LẬP - Home Assistant tại địa chỉ: ' + domain, 'yellow')) print('') time.sleep(0.1) t = gih.getinfo(domain, password, con1) if t == True: speaking.speak( 'Kết nối thành công với trung tâm điều khiển nhà. Sẵn sàng chờ lệnh của bạn.'
def hen_gio(data): global t1 from threading import Timer from time import ctime, strftime def check_time_in(xi_tin): split_lan1 = xi_tin.split() for m in range(0, len(split_lan1)): if ":" in split_lan1[m]: split_lan2 = split_lan1[m].split(":") break else: split_lan2 = [] return split_lan2 def more_info_friendly(data, friendly_name): continuego = 1 if friendly_name == []: qa = 0 while qa < 3: qa += 1 speaking.speak('tác vụ cần làm là gì') more_data = processss.re_ask() if 'HỦY' in more_data.upper(): speaking.speak('thoát chế độ hẹn giờ') continuego = 0 break else: friendly_name = processss.find_hass_friendly_name( more_data) if friendly_name == []: pass else: data = more_data break return data, friendly_name, continuego def more_info_time(data, time_in_data): continue_go = 1 time_in_data = check_time_in(data) if time_in_data == []: qb = 0 while qb < 3: qb += 1 speaking.speak('cung cấp thời điểm thực hiện') more_data1 = processss.re_ask() if 'HỦY' in more_data1.upper(): speaking.speak('thoát khỏi chế độ hẹn giờ') continue_go = 0 break else: time_in_data = check_time_in(more_data1) if time_in_data == []: pass else: break return time_in_data, continue_go friendly_name = processss.find_hass_friendly_name(data) print(friendly_name) time_in_data = check_time_in(data) print(time_in_data) continue_go = 1 if friendly_name == []: abc = more_info_friendly(data, friendly_name) friendly_name = abc[1] data = abc[0] continue_go = abc[2] if continue_go == 1: if time_in_data == []: abcd = more_info_time(data, time_in_data) time_in_data = abcd[0] continue_go = abcd[1] if continue_go == 1: time_set = dem.datetime.timedelta(hours=int(time_in_data[0]), minutes=int(time_in_data[1]), seconds=00) print(time_set) time_now_hour = strftime("%H") time_now_minute = strftime("%M") time_now_second = strftime("%S") time_now = dem.datetime.timedelta(hours=int(time_now_hour), minutes=int(time_now_minute), seconds=int(time_now_second)) second_delta = time_set - time_now secondelta = str(second_delta).split(":") second_delta_final = int(secondelta[0]) * 3600 + int( secondelta[1]) * 60 + int(secondelta[2]) if len(friendly_name) != 0 and int(second_delta_final) > 1: seconds = int(second_delta_final) print('ok') speaking.speak('đã đặt hẹn giờ') if 'HẸN GIỜ' in data: data = data.replace("HẸN GIỜ", "") t1 = Timer(seconds, processss.jarvis, [data]) t1.start() else: speaking.speak('xin thử lại sau')
def hamthucthi(row0_in_db, data, friendly_name_hass, sta): global player print('[MAIN] - THỰC THI TÁC VỤ') print('---------') processss.timlenhtrongdata(data) if row0_in_db == "KHỎE KHÔNG": if seed == 1: pixels.speak() answer( "em khỏe. ", "khỏe lắm anh ", "khỏe chứ anh. ", ) if seed == 1: pixels.off() #camera - dieu khien xoay elif row0_in_db == "CAMERA": print('vao camera') a = ptz.control('http://192.168.9.121', 'admin', 'Emilybro2013') datapreset = data datapreset = datapreset.split() iiii = 0 while iiii < len(datapreset): if datapreset[iiii].isnumeric() == True: preset_number = datapreset[iiii] break else: iiii += 1 try: a.set_preset(preset_number) except: pass if 'LÊN' in data.upper(): print('vao len') a.len() time.sleep(2) return if 'XUỐNG' in data.upper(): a.xuong() time.sleep(2) return if 'TRÁI' in data.upper(): a.trai() time.sleep(2) return if 'PHẢI' in data.upper(): a.phai() time.sleep(2) return # Âm lịch elif row0_in_db == "ÂM LỊCH": check_day = [] if seed == 1: pixels.speak() if 'MAI' in data: check_day = amlich.ngaymai() elif 'MỐT' in data: check_day = amlich.ngaymot() elif 'QUA' in data: check_day = amlich.homqua() elif 'NAY' in data: check_day = amlich.homnay() else: check_day = amlich.ngaykhac(data) amlich.kiemtra_amlich(check_day[0], check_day[1], check_day[2], check_day[3], check_day[4]) if seed == 1: pixels.off() #Hỏi thứ elif row0_in_db == "THỨ MẤY": check_thu = [] if seed == 1: pixels.speak() if 'MAI' in data: check_thu = thu.ngaymai() elif 'MỐT' in data: check_thu = thu.ngaymot() elif 'QUA' in data: check_thu = thu.homqua() elif 'NAY' in data: check_thu = thu.homnay() else: check_thu = thu.ngaykhac(data) result_thu = thu.kiemtra_thu(check_thu[0], check_thu[1], check_thu[2], check_thu[3], check_thu[4]) speaking.speak(result_thu[0] + " là " + result_thu[1] + ' ' + result_thu[2] + ' tháng ' + str(result_thu[3])) if seed == 1: pixels.off() # Ngày lễ elif row0_in_db == "NGÀY LỄ": if seed == 1: pixels.speak() # answer('không có chi. ','rất vui vì giúp được anh ',' đừng bận tâm ') ngayle_res = [] ngayle_res = ngayle.ngayle_check(data) speaking.speak(ngayle_res[0] + ' Còn ' + str(ngayle_res[1]) + ' ngày nữa là đến ' + ngayle_res[2] + '. Đó là ngày ' + ngayle_res[3] + ' tháng ' + ngayle_res[4] + ' năm ' + ngayle_res[5]) if seed == 1: pixels.off() #Cảm ơn elif row0_in_db == "CẢM ƠN": if seed == 1: pixels.speak() answer('không có chi. ', 'rất vui vì giúp được anh ', ' đừng bận tâm ') if seed == 1: pixels.off() #Gass elif row0_in_db == "BAO NHIÊU TUỔI": import textinput textinput.main() #HELP elif row0_in_db == "TRỢ GIÚP": if seed == 1: pixels.speak() if 'THỜI TIẾT' in data: speaking.speak( 'Có thể hỏi các câu hỏi bao gồm các từ như, Thời tiết hôm nay, ngày mai' ) elif 'GIỜ' in data: speaking.speak('Đặt câu hỏi mấy giờ rồi') elif 'NGÀY' in data: speaking.speak( 'Hỏi thứ mấy, ngày nào. Có thể hỏi ngày mai là thứ mấy, ngày 30 tháng 4 là thứ mấy, vv.' ) elif 'ÂM LỊCH' in data: speaking.speak('Hỏi âm lịch hôm nay, ngày mai, ngày bất kì') elif 'DỊCH' in data: speaking.speak( 'Dịch từ tHoặc dịch cả câu với cấu trức: Dịch câu sau sang tiếng nào đó. Sau đó chờ âm báo rồi đọc câu. Ngôn ngữ hỗ trợ: Việt, Anh, Trung, Nhật, Hàn.' ) elif 'THÔNG TIN' in data: speaking.speak( 'Có thể hỏi thông tin bằng câu với kết thúc là gì hoặc là ai. Ví dụ, Hồ Chí Minh là ai.' ) elif 'LỆNH' in data: speaking.speak( 'Có thể bật, tắt, điều chỉnh nhiệt độ máy lạnh .... bằng các câu lệnh đơn giản như: bật đèn, tắt đèn, ....' ) elif 'NHẠC' in data: speaking.speak( 'Dùng lệnh Phát rồi gọi tên bài hát, playlist muốn nghe. Muốn qua bài thì dùng lệnh Tiếp theo. Dừng với lệnh Dừng nhạc' ) elif 'HẸN GIỜ' in data: speaking.speak( 'Dùng lệnh hẹn giờ cộng thời gian, hủy với lệnh hủy hẹn giờ') elif 'NGÀY LỄ' in data: speaking.speak( 'Hỏi còn bao nhiêu ngày nữa là đến ngày lễ. Các ngày lễ có sẵn bao gồm, Tết Tây, Tết ta, 30 tháng 4, trung thu, giỗ tổ, quốc khánh. ' ) else: speaking.speak( 'Các lệnh thường dùng, Hỏi giờ, thời tiết, thứ ngày tháng, thông tin, lệnh, phát nhạc, hẹn giờ, dịch từ, dịch câu, âm lịch, ngày lễ. Dùng lệnh trợ giúp kèm theo các lệnh muốn tra cứu để được hướng dẫn chi tiết hơn.' ) if seed == 1: pixels.off() #Hỏi giờ elif row0_in_db == "MẤY GIỜ": if seed == 1: pixels.speak() from time import ctime, strftime gio = strftime("%H") gio = list(gio) phut = strftime("%M") phut = list(phut) if gio[0] == '1': if gio[1] == '0': docgio = 'mười giờ ' else: docgio = 'mười ' + gio[1] + ' giờ ' elif gio[0] == '0': docgio = gio[1] + ' giờ ' elif gio[0] == '2': if gio[1] == '0': docgio = 'hai mươi giờ ' elif gio[1] == '1': docgio = 'hai mươi mốt giờ ' else: docgio = 'hai mươi ' + gio[1] + ' giờ ' if phut[0] == '0': docphut = phut[1] + ' phút ' elif phut[0] == '1': if phut[1] == '0': docphut = ' mười phút ' else: docphut = ' mười ' + phut[1] + ' phút ' else: if phut[1] == '0': docphut = phut[0] + ' mươi phút ' elif phut[1] == '1': docphut = phut[0] + ' mươi mốt phút ' else: docphut = phut[0] + ' mươi ' + phut[1] + ' phút ' speaking.speak("BÂY GIỜ LÀ " + docgio + docphut) if seed == 1: pixels.off() #Tin tức (TTS) elif row0_in_db == "TIN TỨC": pixels.speak() tintuc.tintucmoi() elif row0_in_db == "XỔ SỐ": pixels.speak() print('Kết quả xổ số') loto.check(data) #Truyện cười elif row0_in_db == "CƯỜI": pixels.speak() truyen = fun.truyen() speaking.speak(truyen) #Hỏi ngày # if row0_in_db=="VỊ TRÍ": # if "CỦA" in data: # locationcua = data.find('CỦA') # data = data[locationcua+4:len(data)] # location = data.strip(" ") # speaking.speak("đây là vị trí của " + location ) # webbrowser.open("https://www.google.nl/maps/place/" + location + "/&") # elif row0_in_db == 'NHẮC': elif row0_in_db == "RADIO": pixels.speak() try: player.stop() except: pass player = radio.phat_radio(data) elif row0_in_db == "ĐI NGỦ": pass elif row0_in_db == "LÀ GÌ": if seed == 1: pixels.speak() def wifi(data): data = data[0:len(data) - 6] rep = wk.find_info(data) rep = rep.find_wiki() print(rep) rep = '. '.join(rep) speaking.speak('Theo wikipedia: ' + rep) speaking.speak('để em tìm xem nào') execute.run_thread(wifi, data) if seed == 1: pixels.off() # Phát video elif row0_in_db == "PHÁT": if seed == 1: pixels.speak() global spotipy try: player.stop() except: pass if sp_act == 1: spotipy = spot.play_current_playlist(s_user, s_id, s_secret, 'http://localhost:9999/', data) else: player = radio.play_nhac(data, friendly_name_hass) if seed == 1: pixels.off() elif row0_in_db == "TIẾP THEO": try: player.stop() except: pass player = radio.phat_tiep_theo() if seed == 1: pixels.off() # Google word translate elif row0_in_db == "CÓ NGHĨA": if seed == 1: pixels.speak() from googletrans import Translator translator = Translator() print(data) data = data.replace('TỪ ', '') data = data.replace('TRONG ', '') # print ('Edit ' + data) # To Vietnamese if 'VIỆT' in data: m = re.search('(.+?) TIẾNG VIỆT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='vi') print(translations.text) speaking.speak('Từ ') speaking.speaken(dataen) speaking.speak('trong tiếng việt nghĩa là: ' + translations.text) #To English elif 'TIẾNG ANH' in data: m = re.search('(.+?) TIẾNG ANH', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='en') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng anh nghĩa là: ') speaking.speaken(translations.text) # To Korean elif 'TIẾNG HÀN' in data: m = re.search('(.+?) TIẾNG HÀN', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ko') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Hàn nghĩa là: ') speaking.speakko(translations.text) # To Japanese elif 'TIẾNG NHẬT' in data: m = re.search('(.+?) TIẾNG NHẬT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ja') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Nhật nghĩa là: ') speaking.speakja(translations.text) # To Chinese elif 'TIẾNG TRUNG' in data: m = re.search('(.+?) TIẾNG TRUNG', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='zh-cn') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng TRUNG nghĩa là: ') speaking.speakzh(translations.text) # Google sentence translate elif row0_in_db == "DỊCH CÂU": from googletrans import Translator translator = Translator() continue_go = 1 speaking.speak('OK, đọc câu cần dịch đi anh') more_data = processss.re_ask() print(more_data) # def gconv (data,more_data): # continue_go = 1 # empty = [] if len(more_data) > 0: while True: print('Google translate: ' + data) print('Data translate: ' + more_data) # speaking.speak('') processss.mixer.music.load('resources/ding.wav') processss.mixer.music.play() if 'TIẾNG ANH' in data: translations = translator.translate(more_data, dest='en') print(translations.text) speaking.speaken(translations.text) continue_go = 1 if 'TIẾNG VIỆT' in data: translations = translator.translate(more_data, dest='vi') print(translations.text) speaking.speak(translations.text) continue_go = 1 if 'TIẾNG HÀN' in data: translations = translator.translate(more_data, dest='ko') print(translations.text) speaking.speakko(translations.text) continue_go = 1 if 'TIẾNG TRUNG' in data: translations = translator.translate(more_data, dest='zh-cn') print(translations.text) speaking.speakzh(translations.text) continue_go = 1 if 'TIẾNG NHẬT' in data: translations = translator.translate(more_data, dest='ja') print(translations.text) speaking.speakja(translations.text) continue_go = 1 if 'HỦY' in more_data: speaking.speak('thoát khỏi chế độ dịch') continue_go = 0 break else: break # return more_data, continue_go # Hẹn giờ elif row0_in_db == "HẸN GIỜ": onoff.hen_gio(data) elif row0_in_db == "HỦY HẸN GIỜ": onoff.t1.cancel() speaking.speak("đã hủy hẹn giờ ") elif row0_in_db == "DỪNG": try: player.stop() except Exception as e: print(e) pass at = spot.spo(s_user, s_id, s_secret, 'http://localhost:9999/') sp = at.assign() de = sp.devices() de = de['devices'] for des in de: print(des['id']) try: at.pause(sp, des['id']) except Exception as t: print(t) pass elif row0_in_db == "TO LÊN": pixels.speak() radio.to_len() elif row0_in_db == "NHỎ XUỐNG": pixels.speak() radio.nho_xuong() elif row0_in_db == "ÂM LƯỢNG": pixels.speak() vol_extract = radio.amluong(data) speaking.speak("thiết lập âm lượng mức " + str(vol_extract)) elif row0_in_db == "THIẾT LẬP": pixels.speak() onoff.thietlap(friendly_name_hass, sta, data) elif row0_in_db == "MỞ": pixels.speak() onoff.on_mo(friendly_name_hass, data) elif row0_in_db == "TẮT": onoff.off_tat(friendly_name_hass, data) elif row0_in_db == "TÊN": if "EM" in data: answer( 'em là BOT LB', 'em là LB ', 'em tên LB', ) elif row0_in_db == "": speaking.speak('em không hiểu rồi đại ca ơi') # Trạng thái elif row0_in_db == "TRẠNG THÁI": if seed == 1: pixels.speak() onoff.trangthai(sta) if seed == 1: pixels.off() #Thời tiết elif row0_in_db == "THỜI TIẾT": if seed == 1: pixels.speak() def wt(data): fio = weth.darksky_weather() if "HIỆN TẠI" in data or "HÔM NAY" in data: icon = '' current_weather = weth.darksky_currently(fio) if current_weather[2].upper() == 'RAIN': icon = 'mưa' elif current_weather[2].upper() == 'PARTLY-CLOUDY-NIGHT': icon = 'buổi tối trời nhiều mây' elif current_weather[2].upper() == 'PARTLY-CLOUDY-DAY': icon = 'trời nhiều mây' elif current_weather[2].upper() == 'CLEAR-DAY': icon = 'trời trong xanh' elif current_weather[2].upper() == 'CLEAR-NIGHT': icon = 'đêm trời đẹp' elif current_weather[2].upper() == 'WIND': icon = 'có gió lớn' elif current_weather[2].upper() == 'CLOUDY': icon = 'trời nhiều mây' elif current_weather[2].upper() == 'FOG': icon = 'trời nhiều sương mù' speaking.speak(current_weather[0] + current_weather[1] + icon) elif "NGÀY MAI" in data: hourly_weather = weth.darksky_hourly(fio) speaking.speak(' nhìn chung ' + hourly_weather) else: speaking.speak('em không hiểu') answer('đang kiểm tra thông tin thời tiết', 'để em kiểm tra', 'em kiểm tra ngay') execute.run_thread(wt, data) # TIN RADIO elif row0_in_db == "TIN VẮN": import zing if seed == 1: pixels.speak() playlist = news.getlink(data) player = zing.phat_zing(playlist) speaking.speak('Đang chuẩn bị phát tin vắn radio') player.play() if 'TIẾP' in data: print('Next') player.next() if 'TRƯỚC' in data: print('Prev') player.previous() if seed == 1: pixels.off() # ZING elif row0_in_db == "ZING": if seed == 1: pixels.speak() import zing, vlc playlist = zing.zing_song(data) player = zing.phat_zing(playlist) speaking.speak('Đang chuẩn bị phát top 100 ca khúc trên Zing') player.play() if 'TIẾP' in data: print('Next') player.next() if 'TRƯỚC' in data: print('Prev') player.previous() if seed == 1: pixels.off() else: if seed == 1: pixels.speak() answer('em không hiểu', 'em nghe không rõ', ' vui lòng nói lại đi') if seed == 1: pixels.off()
def hamthucthi(row0_in_db, data, friendly_name_hass, sta): global player print('[MAIN] - THỰC THI TÁC VỤ') print('---------') processss.timlenhtrongdata(data) if row0_in_db == "KHỎE KHÔNG": answer( "tôi khỏe. ", "khỏe lắm chủ nhân ", "khỏe chứ chủ nhân. ", ) #camera - dieu khien xoay elif row0_in_db == "CAMERA": print('vao camera') a = ptz.control('http://192.168.9.121', 'admin', 'Emilybro2013') datapreset = data datapreset = datapreset.split() iiii = 0 while iiii < len(datapreset): if datapreset[iiii].isnumeric() == True: preset_number = datapreset[iiii] break else: iiii += 1 try: a.set_preset(preset_number) except: pass if 'LÊN' in data.upper(): print('vao len') a.len() time.sleep(2) return if 'XUỐNG' in data.upper(): a.xuong() time.sleep(2) return if 'TRÁI' in data.upper(): a.trai() time.sleep(2) return if 'PHẢI' in data.upper(): a.phai() time.sleep(2) return # Âm lịch elif row0_in_db == "ÂM LỊCH": check_day = [] if 'MAI' in data: check_day = amlich.ngaymai() elif 'MỐT' in data: check_day = amlich.ngaymot() elif 'QUA' in data: check_day = amlich.homqua() elif 'NAY' in data: check_day = amlich.homnay() else: check_day = amlich.ngaykhac(data) amlich.kiemtra_amlich(check_day[0], check_day[1], check_day[2], check_day[3], check_day[4]) #Hỏi thứ elif row0_in_db == "THỨ MẤY": check_thu = [] if 'MAI' in data: check_thu = thu.ngaymai() elif 'MỐT' in data: check_thu = thu.ngaymot() elif 'QUA' in data: check_thu = thu.homqua() elif 'NAY' in data: check_thu = thu.homnay() else: check_thu = thu.ngaykhac(data) result_thu = thu.kiemtra_thu(check_thu[0], check_thu[1], check_thu[2], check_thu[3], check_thu[4]) speaking.speak(result_thu[0] + " là " + result_thu[1] + result_thu[2] + ' tháng ' + str(result_thu[3])) # Ngày lễ elif row0_in_db == "NGÀY LỄ": # answer('không có chi. ','rất vui vì giúp được chủ nhân ',' đừng bận tâm ') ngayle_res = [] ngayle_res = ngayle.ngayle_check(data) speaking.speak(ngayle_res[0] + ' Còn ' + str(ngayle_res[1]) + ' ngày nữa là đến ' + ngayle_res[2] + '. Đó là ngày ' + ngayle_res[3] + ' tháng ' + ngayle_res[4] + ' năm ' + ngayle_res[5]) #Cảm ơn elif row0_in_db == "CẢM ƠN": answer('không có chi. ', 'rất vui vì giúp được chủ nhân ', ' đừng bận tâm ') #HELP elif row0_in_db == "TRỢ GIÚP": if 'THỜI TIẾT' in data: speaking.speak( 'Có thể hỏi các câu hỏi bao gồm các từ như, Thời tiết hôm nay, ngày mai' ) elif 'GIỜ' in data: speaking.speak('Đặt câu hỏi mấy giờ rồi') elif 'NGÀY' in data: speaking.speak( 'Hỏi thứ mấy, ngày nào. Có thể hỏi ngày mai là thứ mấy, ngày 30 tháng 4 là thứ mấy, vv.' ) elif 'ÂM LỊCH' in data: speaking.speak('Hỏi âm lịch hôm nay, ngày mai, ngày bất kì') elif 'DỊCH' in data: speaking.speak( 'Dịch từ tHoặc dịch cả câu với cấu trức: Dịch câu sau sang tiếng nào đó. Sau đó chờ âm báo rồi đọc câu. Ngôn ngữ hỗ trợ: Việt, chủ nhân, Trung, Nhật, Hàn.' ) elif 'THÔNG TIN' in data: speaking.speak( 'Có thể hỏi thông tin bằng câu với kết thúc là gì hoặc là ai. Ví dụ, Hồ Chí Minh là ai.' ) elif 'LỆNH' in data: speaking.speak( 'Có thể bật, tắt, điều chỉnh nhiệt độ máy lạnh .... bằng các câu lệnh đơn giản như: bật đèn, tắt đèn, ....' ) elif 'NHẠC' in data: speaking.speak( 'Dùng lệnh Phát rồi gọi tên bài hát, playlist muốn nghe. Muốn qua bài thì dùng lệnh Tiếp theo. Dừng với lệnh Dừng nhạc' ) elif 'HẸN GIỜ' in data: speaking.speak( 'Dùng lệnh hẹn giờ cộng thời gian, hủy với lệnh hủy hẹn giờ') elif 'NGÀY LỄ' in data: speaking.speak( 'Hỏi còn bao nhiêu ngày nữa là đến ngày lễ. Các ngày lễ có sẵn bao gồm, Tết Tây, Tết ta, 30 tháng 4, trung thu, giỗ tổ, quốc khánh. ' ) else: speaking.speak( 'Các lệnh thường dùng, Hỏi giờ, thời tiết, thứ ngày tháng, thông tin, lệnh, phát nhạc, hẹn giờ, dịch từ, dịch câu, âm lịch, ngày lễ. Dùng lệnh trợ giúp kèm theo các lệnh muốn tra cứu để được hướng dẫn chi tiết hơn.' ) #Hỏi giờ elif row0_in_db == "MẤY GIỜ": from time import ctime, strftime gio = strftime("%H") gio = list(gio) phut = strftime("%M") phut = list(phut) if gio[0] == '1': if gio[1] == '0': docgio = 'mười giờ ' else: docgio = 'mười ' + gio[1] + ' giờ ' elif gio[0] == '0': docgio = gio[1] + ' giờ ' elif gio[0] == '2': if gio[1] == '0': docgio = 'hai mươi giờ ' elif gio[1] == '1': docgio = 'hai mươi mốt giờ ' else: docgio = 'hai mươi ' + gio[1] + ' giờ ' if phut[0] == '0': docphut = phut[1] + ' phút ' elif phut[0] == '1': if phut[1] == '0': docphut = ' mười phút ' else: docphut = ' mười ' + phut[1] + ' phút ' else: if phut[1] == '0': docphut = phut[0] + ' mươi phút ' elif phut[1] == '1': docphut = phut[0] + ' mươi mốt phút ' else: docphut = phut[0] + ' mươi ' + phut[1] + ' phút ' speaking.speak("BÂY GIỜ LÀ " + docgio + docphut) #Tin tức (TTS) elif row0_in_db == "TIN TỨC": tintuc.tintucmoi() elif row0_in_db == "XỔ SỐ": print('Kết quả xổ số') loto.check(data) #Truyện cười elif row0_in_db == "CƯỜI": truyen = fun.truyen() speaking.speak(truyen) #Hỏi ngày # if row0_in_db=="VỊ TRÍ": # if "CỦA" in data: # locationcua = data.find('CỦA') # data = data[locationcua+4:len(data)] # location = data.strip(" ") # speaking.speak("đây là vị trí của " + location ) # webbrowser.open("https://www.google.nl/maps/place/" + location + "/&") # elif row0_in_db == 'NHẮC': elif row0_in_db == "RADIO": try: player.stop() except: pass player = radio.phat_radio(data) elif row0_in_db == "ĐI NGỦ": pass elif row0_in_db == "LÀ GÌ": def wifi(data): data = data[0:len(data) - 6] rep = wk.find_info(data) rep = rep.find_wiki() speaking.speak('Theo wikipedia: ' + rep) speaking.speak('để tôi tìm xem nào') execute.run_thread(wifi, data) # Phát video elif row0_in_db == "PHÁT": global spotipy try: player.stop() except: pass spotipy = spot.play_current_playlist( 'j81xwhr6zxkba3a5txkhrbsz0', 'd6881de9093040d8b9c18d669224b559', '8f233b0f5037456b9c5e084f3f069efd', 'http://localhost:9999/', data) if spotipy[0] == False: player = radio.play_nhac(data, friendly_name_hass) elif row0_in_db == "TIẾP THEO": try: player.stop() except: pass player = radio.phat_tiep_theo() # Google word translate elif row0_in_db == "CÓ NGHĨA": from googletrans import Translator translator = Translator() print(data) data = data.replace('TỪ ', '') data = data.replace('TRONG ', '') # print ('Edit ' + data) # To Vietnamese if 'VIỆT' in data: m = re.search('(.+?) TIẾNG VIỆT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='vi') print(translations.text) speaking.speak('Từ ') speaking.speaken(dataen) speaking.speak('trong tiếng việt nghĩa là: ' + translations.text) #To English elif 'TIẾNG chủ nhân' in data: m = re.search('(.+?) TIẾNG chủ nhân', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='en') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng chủ nhân nghĩa là: ') speaking.speaken(translations.text) # To Korean elif 'TIẾNG HÀN' in data: m = re.search('(.+?) TIẾNG HÀN', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ko') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Hàn nghĩa là: ') speaking.speakko(translations.text) # To Japanese elif 'TIẾNG NHẬT' in data: m = re.search('(.+?) TIẾNG NHẬT', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='ja') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng Nhật nghĩa là: ') speaking.speakja(translations.text) # To Chinese elif 'TIẾNG TRUNG' in data: m = re.search('(.+?) TIẾNG TRUNG', data) dataen = m.group(1) print(dataen) translations = translator.translate(dataen, dest='zh-cn') print(translations.text) speaking.speak('Từ ' + dataen + ' trong tiếng TRUNG nghĩa là: ') speaking.speakzh(translations.text) # Google sentence translate elif row0_in_db == "DỊCH CÂU": from googletrans import Translator translator = Translator() continue_go = 1 speaking.speak('OK, đọc câu cần dịch đi chủ nhân') more_data = processss.re_ask() print(more_data) # def gconv (data,more_data): # continue_go = 1 # empty = [] if len(more_data) > 0: while True: print('Google translate: ' + data) print('Data translate: ' + more_data) # speaking.speak('') processss.mixer.music.load('resources/ding.wav') processss.mixer.music.play() if 'TIẾNG chủ nhân' in data: translations = translator.translate(more_data, dest='en') print(translations.text) speaking.speaken(translations.text) continue_go = 1 if 'TIẾNG VIỆT' in data: translations = translator.translate(more_data, dest='vi') print(translations.text) speaking.speak(translations.text) continue_go = 1 if 'TIẾNG HÀN' in data: translations = translator.translate(more_data, dest='ko') print(translations.text) speaking.speakko(translations.text) continue_go = 1 if 'TIẾNG TRUNG' in data: translations = translator.translate(more_data, dest='zh-cn') print(translations.text) speaking.speakzh(translations.text) continue_go = 1 if 'TIẾNG NHẬT' in data: translations = translator.translate(more_data, dest='ja') print(translations.text) speaking.speakja(translations.text) continue_go = 1 if 'HỦY' in more_data: speaking.speak('thoát khỏi chế độ dịch') continue_go = 0 break else: break # return more_data, continue_go # Hẹn giờ elif row0_in_db == "HẸN GIỜ": onoff.hen_gio(data) elif row0_in_db == "HỦY HẸN GIỜ": onoff.t1.cancel() speaking.speak("đã hủy hẹn giờ ") elif row0_in_db == "DỪNG": try: player.stop() except Exception as e: print(e) pass at = spot.spo('drlbminh', 'd6881de9093040d8b9c18d669224b559', '8f233b0f5037456b9c5e084f3f069efd', 'http://localhost:9999/') sp = at.assign() de = sp.devices() de = de['devices'] for des in de: print(des['id']) try: at.pause(sp, des['id']) except Exception as t: print(t) pass elif row0_in_db == "TO LÊN": radio.to_len() elif row0_in_db == "NHỎ XUỐNG": radio.nho_xuong() elif row0_in_db == "ÂM LƯỢNG": vol_extract = radio.amluong(data) speaking.speak("thiết lập âm lượng mức " + str(vol_extract)) elif row0_in_db == "THIẾT LẬP": onoff.thietlap(friendly_name_hass, sta, data) elif row0_in_db == "MỞ": onoff.on_mo(friendly_name_hass, data) elif row0_in_db == "TẮT": onoff.off_tat(friendly_name_hass, data) elif row0_in_db == "TÊN": if "tôi" in data: answer( 'tôi là BOT LB', 'tôi là LB ', 'tôi tên LB', ) elif row0_in_db == "": speaking.speak('tôi không hiểu rồi đại ca ơi') # Trạng thái elif row0_in_db == "TRẠNG THÁI": onoff.trangthai(sta) #Thời tiết elif row0_in_db == "THỜI TIẾT": import speaking import gih latlong = gih.get_config('toado') import datetime from datetime import timedelta x = datetime.datetime.now() answer('đang kiểm tra thông tin thời tiết', 'để tôi kiểm tra', 'tôi kiểm tra ngay') if 'NGÀY MAI' in data: y = x + datetime.timedelta(1) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speak('Ngày mai ' + tt[day]['overal'] + ', Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C, Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') elif 'HÔM NAY' in data: tt = wt.current('latlon', latlong) speaking.speak('Hôm nay ' + tt['overal'] + ', Nhiệt độ là ' + str(tt['temp']) + ' độ C, độ ẩm là ' + str(tt['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt['wind']) + ' km/h.') elif 'GIỜ TỚI' in data: string = data num = [int(s) for s in string.split() if s.isdigit()] if len(num) > 0: from datetime import timedelta y = x + timedelta(hours=num[0]) if y.hour < 25: day = 'today' ngay = ' giờ hôm nay ' elif y.hour > 24: day = 'tomorrow' ngay = ' giờ ngày mai ' tt = wt.hourly('latlon', latlong) speaking.speak('Thời tiết lúc ' + str(y.hour) + ngay + tt[day]["%.1f" % y.hour]['overal'] + ', Nhiệt độ là ' + str(tt[day]["%.1f" % y.hour]['temp']) + ' độ C, độ ẩm là ' + str(tt[day]["%.1f" % y.hour]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]["%.1f" % y.hour]['wind']) + ' km/h.') else: pass elif 'TUẦN' in data.upper(): for i in range(1, 3): y = x + datetime.timedelta(i) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speak('Ngày ' + day + tt[day]['overal'] + ', Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C, Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') elif 'NGÀY TỚI' in data.upper(): string = data num = [int(s) for s in string.split() if s.isdigit()] if len(num) > 0: for i in range(0, num): y = x + datetime.timedelta(i) day = str(y.day) tt = wt.weekly('latlon', latlong) speaking.speak('Ngày ' + day + tt[day]['overal'] + ' Nhiệt độ thấp nhất ' + str(tt[day]['mintemp']) + ' độ C ' + ' Nhiệt độ cao nhất ' + str(tt[day]['maxtemp']) + ' độ C, độ ẩm là ' + str(tt[day]['hum']) + ' phần trăm, tốc độ gió trung bình ' + str(tt[day]['wind']) + ' km/h.') else: tt = wt.current('latlon', latlong) speaking.speak( 'Xin lỗi, tôi không nghe bạn hỏi thời tiết ngày nào') else: answer('tôi không hiểu', 'tôi nghe không rõ', ' vui lòng nói lại đi')
def xuly(): pixels.pixels.wakeup() if ok == 0: trial_times = 0 speaking.speak('đây là bản dùng thử') trial_times += 1 if trial_times < 20: print( colored('Số lần request còn lại: ' + str(21 - trial_times), 'red')) else: print( colored( '[ERROR] - Hết giới hạn dùng thử. Vui lòng khởi động lại BOT', 'red')) speaking.speak( 'Hết giới hạn dùng thử. Khởi động lại bot để dùng tiếp') sys.exit(0) print('[MAIN] - TIẾP NHẬN XỬ LÝ') print('') try: dem.player.audio_set_volume(40) except: pass try: global volume volume = spotipy.devices() volume = volume['devices'][0]['volume_percent'] print('volume truoc khi giam' + str(volume)) spotipy.volume(36) except: pass data = 'interruptinterrupt' while data == 'interruptinterrupt': print( colored( 'tôi ĐANG CHỜ RA LỆNH - BẬT TẮT <TÊN THIẾT BỊ> HAY HỎI MẤY GIỜ RỒI...', 'green')) conti = 1 mixer.music.load('resources/ding.wav') mixer.music.play() try: # Dùng API Google if api_boolean == 1: print('------------------------------------------------------') print( colored( '-------------------------CÓ DÙNG API GOOGLE-----------------', 'green')) print('------------------------------------------------------') data = tsm.main() conti = 1 # Không dùng API Google elif api_boolean == 0: print('------------------------------------------------------') print( colored( '---------------KHÔNG DÙNG API, SẼ NHẬN CHẬM LẮM ĐÂY, MÔI TRƯỜNG ÍT ỒN SẼ DỄ NHẬN HƠN (TRÁNH QUẠT, MÁY LẠNH)-------------', 'red')) print('------------------------------------------------------') data = dem.recordAudio() conti = 1 if hotword.upper() in str(data).upper(): data == 'interruptinterrupt' # Dùng API FPT elif api_boolean == 2: print('------------------------------------------------------') print( colored('---------------DÙNG API FPT-------------', 'yellow')) print('------------------------------------------------------') data = dem.recordFPT() conti = 1 if hotword.upper() in str(data).upper(): data == 'interruptinterrupt' # Dùng API VTCC elif api_boolean == 3: print('------------------------------------------------------') print( colored('---------------DÙNG API VIETTEL-------------', 'blue')) print('------------------------------------------------------') data = dem.recordVTCC() conti = 1 if hotword.upper() in str(data).upper(): data == 'interruptinterrupt' # Sử dụng text input elif api_boolean == 1111: data = input("Nhập lệnh cần thực thi: ") except: conti = 0 break mixer.music.load('resources/dong.wav') mixer.music.play() pixels.pixels.think() if conti == 1 and str(data).upper() != 'ĐƯỢC RỒI': try: jarvis(data) except Exception as e: print(e) giophut = str(strftime("%H")) + ':' + str(strftime("%M")) ai_data = (data, giophut, "") try: with hehe: haha = hehe.cursor() haha.execute("INSERT INTO ai_data VALUES(?,?,?)", ai_data) except: print('writing ai_data ee') pass try: player_volume = dem.radio.lay_am_luong() dem.player.audio_set_volume(player_volume - 35) time.sleep(0.1) dem.player.audio_set_volume(player_volume - 20) time.sleep(0.1) dem.player.audio_set_volume(player_volume) except: pass try: # volume=dem.spotipy[1].devices(dem.spotipy[0]) # volume=volume[2] print('volume sau khi giam: ' + str(volume)) spotipy.volume(volume - 35) time.sleep(0.1) spotipy.volume(volume - 20) time.sleep(0.1) spotipy.volume(volume) except Exception as e: print('spotify: ' + str(e)) pixels.pixels.off() print(colored('*****************SẴN SÀNG CHỜ GỌI****************', 'green'))
def on_mo(friendly_name_hass, data): print(friendly_name_hass) p = 0 if len(friendly_name_hass) == 1 and str( dem.chsv.check_fr(data)).strip("'[]'") == '': aaaa = 1 else: aaaa = 0 while p < len(friendly_name_hass) and aaaa != 1: try: r = friendly_name_hass[p].turn_on() friendly_name1 = dem.chsv.check_fr(data) if r == 1: if p == len( friendly_name_hass ) - 1: # nếu là thiết bị cuối cùng mới đọc thông báo speaking.speak("đã mở " + str(friendly_name1).strip("'[]'")) p += 1 except: speaking.speak('có lỗi thiết bị trên hass') p += 1 if len(friendly_name_hass) == 0 or aaaa == 1: speaking.speak("vui lòng nói lại tên thiết bị") dem.time.sleep(0.5) processss.mixer.music.load('resources/ding.wav') processss.mixer.music.play() more_data = processss.re_ask() friendly_name_hass1 = processss.find_hass_friendly_name(more_data) if friendly_name_hass1 == []: speaking.speak('xin lỗi em không nghe được') else: t = 0 while t < len(friendly_name_hass1): try: rr = friendly_name_hass1[t].turn_on() friendly_name1 = dem.chsv.check_fr(more_data) if rr == 1: if t == len(friendly_name_hass1) - 1: speaking.speak("đã mở " + str(friendly_name1).strip("'[]'")) t += 1 except: speaking.speak('có lỗi thiết bị trên hass') t += 1
what_to_do = file.paragraphs[25].text #-------------------------------------------------- #-------------------------------------------------- #----------------------------------------------------------------------- # Display and read health advice based on BMI and Blood Pressure #----------------------------------------------------------------------- if bmi < 18.5: print(f"\nHi {f_name.title()}...\n") print( f"\nYour BMI is {round(bmi, 2)} kg/m2; and your blood pressure is {sbp}/{dbp} mmHg\n" ) if (sbp + dbp) < 230: speaking.speak(underweight_normotensive, what_to_do) elif (sbp + dbp) == 0: speaking.speak(underweight_no_bp, what_to_do) else: speaking.speak(underweight_hypertensive, what_to_do) elif bmi < 24.9: print(f"\nHi {f_name.title()}...\n") print( f"\nYour BMI is {round(bmi, 2)} kg/m2; and your blood pressure is {sbp}/{dbp} mmHg\n" ) if (sbp + dbp) < 230: speaking.speak(normal_normotensive, what_to_do) elif (sbp + dbp) == 0: speaking.speak(normal_no_bp, what_to_do) else: speaking.speak(normal_hypertensive, what_to_do)
def off_tat(friendly_name_hass, data): q = 0 if len(friendly_name_hass) == 1 and str( dem.chsv.check_fr(data)).strip("'[]'") == '': aaaa = 1 else: aaaa = 0 while q < len(friendly_name_hass) and aaaa != 1: try: rr = friendly_name_hass[q].turn_off() friendly_name1 = dem.chsv.check_fr(data) if rr == 1: if q == len( friendly_name_hass ) - 1: #nếu là thiết bị cuối cùng mới đọc thông báo speaking.speak("đã tắt " + str(friendly_name1).strip("'[]'")) q += 1 except: speaking.speak('có lỗi thiết bị trên hass') q += 1 if len(friendly_name_hass) == 0 or aaaa == 1: speaking.speak(" vui lòng nói lại tên thiết bị") processss.mixer.music.load('resources/ding.wav') processss.mixer.music.play() more_data = processss.re_ask() friendly_name_hass1 = processss.find_hass_friendly_name(more_data) if friendly_name_hass1 == []: speaking.speak('xin lỗi em không nghe được') else: z = 0 while z < len(friendly_name_hass1): try: r = friendly_name_hass1[z].turn_off() friendly_name1 = dem.chsv.check_fr(more_data) if r == 1: if z == len(friendly_name_hass1) - 1: speaking.speak("đã tắt " + str(friendly_name1).strip("'[]'")) z += 1 except: speaking.speak('có lỗi thiết bị trên hass') z += 1