def i_can(): print( "Аз мога да говоря, да измервам температура в стаята, в която сте, да търся в Уикипедия, да пускам музика, да проверявам времето и още много." ) talk( "Аз мога да говоря, да измервам температура в стаята, в която сте, да търся в Уикипедия, да пускам музика, да проверявам времето и още много." )
def problem(): problem = [ "Не разбрах това!", "Не знам какво да кажа, не разбрах!", "Стана проблем!" ] c = random.choice(problem) print(c) talk(c)
def player(directory): try: songs = find_music(directory) song = random.choice(songs) play_music_os(song) except IndexError as error: print("Не намерих песни.") talk("Не намерих песни.")
def introduction(): intros = [ "Здрасти! Името ми е Едвин. Приятно ми е!", "Аз съм Едвин.", "За пореден път ти казвам, че се казвам Едвин!", "Едвин, казвам се Едвин." ] c = random.choice(intros) print(c) writeOnLCD("Edwin :)") talk(c)
def search_in_wiki(speech_input): string = speech_input.split() string.remove('какво') string.remove('е') search = ' '.join(string) try: output = wikipedia.summary(search, sentences=2) print(output) talk(output) except wikipedia.exception.DisambiguationError as error: print("Има ерор в Уикипедия!") talk("Има еррор в Уикипедия!")
def temperature(): print("Температурата е: " + temp.read_temp() + " градуса") writeOnLCD(str(temp.read_temp())) talk("Температурата е" + temp.read_temp() + " градуса")
def thanks(): thanks_answers = ["Винаги съм тук.", "Няма защо.", "Винаги съм до теб."] c = random.choice(thanks_answers) print(c) writeOnLCD("<3") talk(c)
def hello_rep(): hello = ["Здрасти!", "Хей, радвам се да те чуя!"] c = random.choice(hello) print(c) writeOnLCD("Hi :)") talk(c)
def read_input(speech_input): def if_match(cons): split = speech_input.split() if set(cons).issubset(set(split)): return True else: return False if if_match(["представи", "се"]): conversations.introduction() elif if_match(["кой", "си", "ти"]): conversations.introduction() elif if_match(["здрасти"]) or if_match(["здравей"]): conversations.hello_rep() elif if_match(["мерси"]) or if_match(["благодаря"]): conversations.thanks() elif if_match(["какво", "е"]): writeOnLCD("Wikipedia") wikipedia_check.search_in_wiki(speech_input) elif if_match(["какво", "можеш", "да", "правиш"]): conversations.i_can() elif if_match(["колко", "е", "температурата"]): conversations.temperature() elif if_match(["кажи", "температурата", "в"]) or if_match( ["температурата", "в"]): weather.give_me_the_weather(speech_input) elif if_match(["дай", "прогнозата", "за"]): weather.give_me_the_weather(speech_input) elif if_match(["музика", "ютуб"]): writeOnLCD("Playing music from YT") youtube_music.play() elif if_match(['направи', 'аларма', 'за']): print("Това е демо за аларма.") talk("Това е демо за аларма.") alarm.alarm() elif if_match(["пусни", "музика"]): print("Търся песни!") writeOnLCD("Music () ) )") talk("Търся песни!") music.player(".") elif if_match(["спри", "се"]): talk("Дочуване") sys.exit() else: writeOnLCD(":(") conversations.problem() lcd.clear()
def give_me_the_weather(speech_input): string = speech_input.split() if 'кажи' in string: string.remove('кажи') if 'в' in string: string.remove('в') if 'температурата' in string: string.remove('температурата') if 'температура' in string: string.remove('температура') if 'едвин' in string: string.remove('едвин') if 'Едвин' in string: string.remove('Едвин') if 'дай' in string: string.remove('дай') if 'прогнозата' in string: string.remove('прогнозата') if 'прогноза' in string: string.remove('прогноза') if 'за' in string: string.remove('за') location = ' '.join(string) print(location) URL = BASE_URL + "q=" + location + "&appid=" + API_KEY response = requests.get(URL) if response.status_code == 200: data = response.json() main = data['main'] sys = data['sys'] temperature = main['temp'] feels_like = main['feels_like'] cels = round(temperature - 273.15) fl = round(feels_like - 273.15) sunrise = datetime.datetime.fromtimestamp(sys['sunrise']) sunrise = sunrise.strftime("%H:%M") sunset = datetime.datetime.fromtimestamp(sys['sunset']) sunset = sunset.strftime("%H:%M") print("Температурата в " + location + " е " + str(cels) + " градуса") writeOnLCD(str(cels) + " C") talk("Температурата в " + location + " е " + str(cels) + " градуса") lcd.clear() print("Но се чувства като " + str(fl) + " градуса") writeOnLCD(str(fl) + " C") talk("Но се чувства като " + str(fl) + " градуса") lcd.clear() print("Изгревът е към " + str(sunrise)) writeOnLCD(str(sunrise) + " sunsrise") talk("Изгревът е към " + str(sunrise)) lcd.clear() print("Залезът е към " + str(sunset)) writeOnLCD(str(sunset) + " sunset") talk("Залезът е към " + str(sunset)) lcd.clear() else: print("Error in HTTP request") writeOnLCD("Error in HTTP request") lcd.clear()