예제 #1
0
def i_can():
    print(
        "Аз мога да говоря, да измервам температура в стаята, в която сте, да търся в Уикипедия, да пускам музика, да проверявам времето и още много."
    )
    talk(
        "Аз мога да говоря, да измервам температура в стаята, в която сте, да търся в Уикипедия, да пускам музика, да проверявам времето и още много."
    )
예제 #2
0
def problem():
    problem = [
        "Не разбрах това!", "Не знам какво да кажа, не разбрах!",
        "Стана проблем!"
    ]
    c = random.choice(problem)
    print(c)
    talk(c)
예제 #3
0
def player(directory):
    try:
        songs = find_music(directory)
        song = random.choice(songs)
        play_music_os(song)

    except IndexError as error:
        print("Не намерих песни.")
        talk("Не намерих песни.")
예제 #4
0
def introduction():
    intros = [
        "Здрасти! Името ми е Едвин. Приятно ми е!", "Аз съм Едвин.",
        "За пореден път ти казвам, че се казвам Едвин!",
        "Едвин, казвам се Едвин."
    ]
    c = random.choice(intros)
    print(c)
    writeOnLCD("Edwin :)")
    talk(c)
예제 #5
0
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("Има еррор в Уикипедия!")
예제 #6
0
def temperature():
    print("Температурата е: " + temp.read_temp() + " градуса")
    writeOnLCD(str(temp.read_temp()))
    talk("Температурата е" + temp.read_temp() + " градуса")
예제 #7
0
def thanks():
    thanks_answers = ["Винаги съм тук.", "Няма защо.", "Винаги съм до теб."]
    c = random.choice(thanks_answers)
    print(c)
    writeOnLCD("<3")
    talk(c)
예제 #8
0
def hello_rep():
    hello = ["Здрасти!", "Хей, радвам се да те чуя!"]
    c = random.choice(hello)
    print(c)
    writeOnLCD("Hi :)")
    talk(c)
예제 #9
0
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()
예제 #10
0
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()