Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##Тестовый образ татьяны 2.0
- import speech_recognition as sr
- import pyttsx3
- import datetime
- import time
- import pyowm
- import webbrowser
- import pyowm
- import os
- import sys
- import random
- speak_engine = pyttsx3.init()
- #функции
- def open(page):
- webbrowser.open(page)
- def speak(what):
- print( what )
- speak_engine.say( what )
- speak_engine.runAndWait()
- speak_engine.stop()
- #переменные
- owm = pyowm.OWM("6d00d1d4e704068d70191bad2673e0cc", language = "ru")
- observation = owm.weather_at_place('Nefteyugansk,RU')
- w = observation.get_weather()
- temp = w.get_temperature('celsius')["temp"]
- r = sr.Recognizer()
- m = sr.Microphone(device_index = 1)
- with m as source:
- r.adjust_for_ambient_noise(source)
- #обращаюсь к Татьяне
- print("говорите")
- with sr.Microphone(device_index = 1) as source:
- audio = r.listen(source)
- tati = r.recognize_google(audio, language = "ru-RU")
- #шутки про другие голосовые помощники
- while tati == "Слушай Алиса":
- speak("По-моему вы меня с кем-то путаете")
- break
- while tati == "Маруся":
- speak("По-моему вы меня с кем-то путаете")
- break
- while tati == "OK Google":
- speak("Вы серьёзно?")
- break
- while tati == "серый":
- speak("А я же могу и обидется...")
- break
- while tati == "Привет Сири":
- speak("Ха~ха~ха -- смешно...")
- break
- while tati == "Siri":
- speak("Хахаха -- смешно...")
- break
- while tati == "Сири":
- speak("я же могу и обидется...")
- #Если пользователь обращается к Татьяне, тогда
- while((tati.find("Татьяна")!=-1) or (tati.find("Танюша")!=-1) or (tati.find("Танюш")!=-1) or (tati.find("Таня")!=-1) or (tati.find("Танька")!=-1)):
- speak("Слушаю")
- with sr.Microphone(device_index=1) as source:
- audio = r.listen(source)
- cmd = r.recognize_google(audio, language = "ru-RU")
- print(cmd)
- #Рандомайзер
- if((cmd.find("Назови случайное число до")!=-1) or (cmd.find("Назови любое число до")!=-1)):
- cmd=cmd.replace('Назови случайное число до', '')
- cmd=cmd.replace('Назови любое число до', '')
- cmd=cmd.strip()
- a = random.randint(1, int(cmd))
- speak(a)
- if((cmd.find("Назови случайное число")!=-1) or (cmd.find("Назови любое число")!=-1)):
- speak("Какое максимальное число?")
- with sr.Microphone(device_index=1) as source:
- D = r.listen(source)
- G = r.recognize_google(D, language = "ru-RU")
- a = random.randint(1, int(G))
- speak(a)
- #голосовой поиск музыки и/или исполнителя
- if((cmd.find("Найди исполнителя ")!=-1) or (cmd.find("найти исполнителя ")!=-1) or (cmd.find("ищи музыку ")!=-1) or (cmd.find("поиск музыки ")!=-1) or (cmd.find("найти музыку ")!=-1) or (cmd.find("Найди музыку ")!=-1) or (cmd.find("ищи песню ")!=-1) or (cmd.find("найти песню ")!=-1) or (cmd.find("найди песню ")!=-1) or (cmd.find("Ищи песню ")!=-1)):
- cmd=cmd.replace('Найди исполнителя ', '')
- cmd=cmd.replace('ищи музыку', '')
- cmd=cmd.replace('поиск музыки', '')
- cmd=cmd.replace('найти исполнителя ', '')
- cmd=cmd.replace('найти музыку', '')
- cmd=cmd.replace('Найди музыку', '')
- cmd=cmd.replace('найди песню', '')
- cmd=cmd.replace('найти песню' , '')
- cmd=cmd.replace('Ищи песню' , '')
- cmd=cmd.strip()
- speak("открываю...")
- open('https://music.yandex.ru/search?text=' + cmd)
- #усовершенствованный голосовой поиск
- if((cmd.find("найти")!=-1) or (cmd.find("поиск")!=-1) or (cmd.find("найди")!=-1) or (cmd.find("ищи")!=-1)):
- cmd=cmd.replace('найди', '')
- cmd=cmd.replace('найти', '')
- cmd=cmd.replace('поиск', '')
- cmd=cmd.replace('ищи', '')
- cmd=cmd.strip()
- speak("открываю...")
- webbrowser.open('https://www.google.com/search?q=' + cmd)
- #поиск в видеохостинге YouTube
- if((cmd.find("найди в YouTube")!=-1) or (cmd.find("Найди в YouTube")!=-1) or (cmd.find("найти в YouTube")!=-1) or (cmd.find("ищи в YouTube")!=-1) or (cmd.find("поиск в YouTube")!=-1) or (cmd.find("найти на YouTube")!=-1) or (cmd.find("Найди на YouTube")!=-1) or (cmd.find("найти на Ютубе")!=-1) or (cmd.find("Найди на Ютубе")!=-1) or (cmd.find("ищи на Ютубе")!=-1)):
- cmd=cmd.replace('Найди в YouTube', '')
- cmd=cmd.replace('ищи в YouTube', '')
- cmd=cmd.replace('поиск в YouTube', '')
- cmd=cmd.replace('найти в YouTube', '')
- cmd=cmd.replace('найти на YouTube', '')
- cmd=cmd.replace('Найди на YouTube', '')
- cmd=cmd.replace('Найди в Ютубе', '')
- cmd=cmd.replace('Ищи в Ютубе', '')
- cmd=cmd.replace('поиск в Ютубе', '')
- cmd=cmd.replace('найти в Ютубе', '')
- cmd=cmd.replace('Найди на Ютубе', '')
- cmd=cmd.strip()
- speak("открываю...")
- open('https://www.youtube.com/results?search_query=' + cmd)
- #переводчик
- if((cmd.find("Переведи")!=-1)):
- cmd=cmd.replace('Переведи', '')
- speak("перевожу")
- open("https://translate.google.com/#view=home&op=translate&sl=ru&tl=en&text=" + cmd)
- #команда: открой вк
- #музыка в ВК
- if((cmd.find("Открой музыку ВКонтакте")!=-1) or (cmd.find("Открой музыку VK")!=-1)):
- speak("Открываю")
- open('https://vk.com/audio')
- if((cmd.find("Открой ВКонтакте")!=-1) or (cmd.find("открой vk")!=-1)):
- speak("Открываю...")
- open('https://vk.com/')
- #команда: открой одноклассники
- if cmd == "Открой Одноклассники":
- speak("Открываю...")
- open('https://ok.ru/')
- #команда: открой ютуб
- if cmd == "Открой YouTube":
- speak("Открываю...")
- open('https://www.youtube.com/')
- #лёгкий калькулятор
- if((cmd.find('Посчитай')!=-1) or (cmd.find('посчитать')!=-1)):
- cmd = cmd.replace('Посчитай', '')
- cmd = cmd.replace('посчитать', '')
- cmd = cmd.replace('делить на', '/')
- cmd = cmd.replace('по', '')
- cmd = cmd.replace('и', '')
- cmd = cmd.replace("умножить на", "*")
- cmd = cmd.replace("умножить", "*")
- cmd = cmd.replace("х", '*')
- cmd = cmd.replace('x', "*")
- cmd = cmd.replace("X", '*')
- a = cmd
- speak(str(eval(a)))
- #команда: который час
- if((cmd.find("Который час")!=-1) or (cmd.find("Какой час")!=-1) or (cmd.find("Сколько времени")!=-1)):
- now = datetime.datetime.now()
- speak("Сейчас " + str(now.hour) + ":" + str(now.minute))
- #команда: какая погода
- if cmd == 'Какая погода':
- if temp < 9:
- speak("сейчас холодно, советую одеться потеплее")
- elif temp > 11:
- speak("там тепло")
- elif temp == 11:
- speak("сейчас нормально")
- elif temp == 10:
- speak("сейчас холодно, советую одеться потеплее")
- elif temp == 9:
- speak("сейчас холодно, советую одеться потеплее")
- #Команда: Сколько градусов
- if cmd == 'Сколько градусов':
- speak("на улице сейчас" + str(int(temp)) + "градусов")
- #команды запуска внешних приложений
- if cmd == "Запусти Minecraft":
- os.system("C:\\Users\\zacs\\python\\apps\\1.bat")
- if cmd == "запустить CS GO":
- open("steam://rungameid/730")
- if cmd == "запусти реалм рояль":
- open("steam://rungameid/813820")
- #команды для разговоров
- #команда "анекдот"
- if((cmd.find("пошути")!=-1) or (cmd.find("Расскажи анекдот")!=-1)):
- speak("Пытаясь ответить на вопрос о том, что делать с коррупцией на Украине, человекоподобный робот София зависла")
- #Команда: привет
- if cmd == "Привет":
- now = datetime.datetime.now()
- if now.hour > 18 :
- speak("Добрый вечер")
- else:
- speak("Добрый день")
- if cmd == "тест 123":
- speak("Проверка прошла успешно")
- if cmd == "Чему равно число Пи":
- speak("число пи равно трём целым, четырнадцать сотых")
- #как дела
- if cmd == "Как дела":
- speak("Всегда идеальное настроение, а у вас оно какое ?")
- with sr.Microphone(device_index=1) as source:
- audio = r.listen(source)
- nastr = r.recognize_google(audio, language = "ru-RU")
- if nastr == "плохое":
- speak("попробуйте порадовать себя едой, побегать, пообщаться со знакомыми дабы стресс ушёл")
- if nastr == "хорошее":
- speak("Иии это хорошо!")
- if nastr == "идеальное":
- speak("Вам сегодня повезло!")
- #орёл или решка?
- if((cmd.find("Орёл или решка")!=-1) or (cmd.find("подбрось монетку")!=-1) or (cmd.find("Орел и решка")!=-1)):
- aaa = random.randint(1, 2)
- if aaa == 2:
- speak("орёл")
- if aaa == 1:
- speak("решка")
- #команды для экстренных случаев
- if cmd == ("стоп"):
- speak("Досвидание")
- sys.exit(0)
- if cmd == ("пока"):
- speak("Досвидание")
- sys.exit(0)
- else:
- print("[Ошибка] оператор не опознан.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement