Advertisement
Guest User

тест

a guest
Jun 26th, 2019
791
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.13 KB | None | 0 0
  1. ##Тестовый образ татьяны 2.0
  2. import speech_recognition as sr
  3. import pyttsx3
  4. import datetime
  5. import time
  6. import pyowm
  7. import webbrowser
  8. import pyowm
  9. import os
  10. import sys
  11. import random
  12.  
  13.  
  14. speak_engine = pyttsx3.init()
  15. #функции
  16. def open(page):
  17. webbrowser.open(page)
  18.  
  19.  
  20. def speak(what):
  21. print( what )
  22. speak_engine.say( what )
  23. speak_engine.runAndWait()
  24. speak_engine.stop()
  25.  
  26. #переменные
  27. owm = pyowm.OWM("6d00d1d4e704068d70191bad2673e0cc", language = "ru")
  28. observation = owm.weather_at_place('Nefteyugansk,RU')
  29. w = observation.get_weather()
  30. temp = w.get_temperature('celsius')["temp"]
  31. r = sr.Recognizer()
  32. m = sr.Microphone(device_index = 1)
  33. with m as source:
  34. r.adjust_for_ambient_noise(source)
  35.  
  36. #обращаюсь к Татьяне
  37. print("говорите")
  38. with sr.Microphone(device_index = 1) as source:
  39. audio = r.listen(source)
  40. tati = r.recognize_google(audio, language = "ru-RU")
  41.  
  42. #шутки про другие голосовые помощники
  43. while tati == "Слушай Алиса":
  44. speak("По-моему вы меня с кем-то путаете")
  45. break
  46. while tati == "Маруся":
  47. speak("По-моему вы меня с кем-то путаете")
  48. break
  49. while tati == "OK Google":
  50. speak("Вы серьёзно?")
  51. break
  52. while tati == "серый":
  53. speak("А я же могу и обидется...")
  54. break
  55. while tati == "Привет Сири":
  56. speak("Ха~ха~ха -- смешно...")
  57. break
  58. while tati == "Siri":
  59. speak("Хахаха -- смешно...")
  60. break
  61. while tati == "Сири":
  62. speak("я же могу и обидется...")
  63.  
  64. #Если пользователь обращается к Татьяне, тогда
  65. while((tati.find("Татьяна")!=-1) or (tati.find("Танюша")!=-1) or (tati.find("Танюш")!=-1) or (tati.find("Таня")!=-1) or (tati.find("Танька")!=-1)):
  66. speak("Слушаю")
  67. with sr.Microphone(device_index=1) as source:
  68. audio = r.listen(source)
  69. cmd = r.recognize_google(audio, language = "ru-RU")
  70. print(cmd)
  71. #Рандомайзер
  72. if((cmd.find("Назови случайное число до")!=-1) or (cmd.find("Назови любое число до")!=-1)):
  73. cmd=cmd.replace('Назови случайное число до', '')
  74. cmd=cmd.replace('Назови любое число до', '')
  75. cmd=cmd.strip()
  76. a = random.randint(1, int(cmd))
  77. speak(a)
  78. if((cmd.find("Назови случайное число")!=-1) or (cmd.find("Назови любое число")!=-1)):
  79. speak("Какое максимальное число?")
  80. with sr.Microphone(device_index=1) as source:
  81. D = r.listen(source)
  82. G = r.recognize_google(D, language = "ru-RU")
  83. a = random.randint(1, int(G))
  84. speak(a)
  85. #голосовой поиск музыки и/или исполнителя
  86. 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)):
  87. cmd=cmd.replace('Найди исполнителя ', '')
  88. cmd=cmd.replace('ищи музыку', '')
  89. cmd=cmd.replace('поиск музыки', '')
  90. cmd=cmd.replace('найти исполнителя ', '')
  91. cmd=cmd.replace('найти музыку', '')
  92. cmd=cmd.replace('Найди музыку', '')
  93. cmd=cmd.replace('найди песню', '')
  94. cmd=cmd.replace('найти песню' , '')
  95. cmd=cmd.replace('Ищи песню' , '')
  96. cmd=cmd.strip()
  97. speak("открываю...")
  98. open('https://music.yandex.ru/search?text=' + cmd)
  99. #усовершенствованный голосовой поиск
  100. if((cmd.find("найти")!=-1) or (cmd.find("поиск")!=-1) or (cmd.find("найди")!=-1) or (cmd.find("ищи")!=-1)):
  101. cmd=cmd.replace('найди', '')
  102. cmd=cmd.replace('найти', '')
  103. cmd=cmd.replace('поиск', '')
  104. cmd=cmd.replace('ищи', '')
  105. cmd=cmd.strip()
  106. speak("открываю...")
  107. webbrowser.open('https://www.google.com/search?q=' + cmd)
  108. #поиск в видеохостинге YouTube
  109. 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)):
  110. cmd=cmd.replace('Найди в YouTube', '')
  111. cmd=cmd.replace('ищи в YouTube', '')
  112. cmd=cmd.replace('поиск в YouTube', '')
  113. cmd=cmd.replace('найти в YouTube', '')
  114. cmd=cmd.replace('найти на YouTube', '')
  115. cmd=cmd.replace('Найди на YouTube', '')
  116. cmd=cmd.replace('Найди в Ютубе', '')
  117. cmd=cmd.replace('Ищи в Ютубе', '')
  118. cmd=cmd.replace('поиск в Ютубе', '')
  119. cmd=cmd.replace('найти в Ютубе', '')
  120. cmd=cmd.replace('Найди на Ютубе', '')
  121. cmd=cmd.strip()
  122. speak("открываю...")
  123. open('https://www.youtube.com/results?search_query=' + cmd)
  124. #переводчик
  125. if((cmd.find("Переведи")!=-1)):
  126. cmd=cmd.replace('Переведи', '')
  127. speak("перевожу")
  128. open("https://translate.google.com/#view=home&op=translate&sl=ru&tl=en&text=" + cmd)
  129. #команда: открой вк
  130. #музыка в ВК
  131. if((cmd.find("Открой музыку ВКонтакте")!=-1) or (cmd.find("Открой музыку VK")!=-1)):
  132. speak("Открываю")
  133. open('https://vk.com/audio')
  134. if((cmd.find("Открой ВКонтакте")!=-1) or (cmd.find("открой vk")!=-1)):
  135. speak("Открываю...")
  136. open('https://vk.com/')
  137. #команда: открой одноклассники
  138. if cmd == "Открой Одноклассники":
  139. speak("Открываю...")
  140. open('https://ok.ru/')
  141. #команда: открой ютуб
  142. if cmd == "Открой YouTube":
  143. speak("Открываю...")
  144. open('https://www.youtube.com/')
  145. #лёгкий калькулятор
  146. if((cmd.find('Посчитай')!=-1) or (cmd.find('посчитать')!=-1)):
  147. cmd = cmd.replace('Посчитай', '')
  148. cmd = cmd.replace('посчитать', '')
  149. cmd = cmd.replace('делить на', '/')
  150. cmd = cmd.replace('по', '')
  151. cmd = cmd.replace('и', '')
  152. cmd = cmd.replace("умножить на", "*")
  153. cmd = cmd.replace("умножить", "*")
  154. cmd = cmd.replace("х", '*')
  155. cmd = cmd.replace('x', "*")
  156. cmd = cmd.replace("X", '*')
  157. a = cmd
  158. speak(str(eval(a)))
  159. #команда: который час
  160. if((cmd.find("Который час")!=-1) or (cmd.find("Какой час")!=-1) or (cmd.find("Сколько времени")!=-1)):
  161. now = datetime.datetime.now()
  162. speak("Сейчас " + str(now.hour) + ":" + str(now.minute))
  163. #команда: какая погода
  164. if cmd == 'Какая погода':
  165. if temp < 9:
  166. speak("сейчас холодно, советую одеться потеплее")
  167. elif temp > 11:
  168. speak("там тепло")
  169. elif temp == 11:
  170. speak("сейчас нормально")
  171. elif temp == 10:
  172. speak("сейчас холодно, советую одеться потеплее")
  173. elif temp == 9:
  174. speak("сейчас холодно, советую одеться потеплее")
  175. #Команда: Сколько градусов
  176. if cmd == 'Сколько градусов':
  177. speak("на улице сейчас" + str(int(temp)) + "градусов")
  178. #команды запуска внешних приложений
  179. if cmd == "Запусти Minecraft":
  180. os.system("C:\\Users\\zacs\\python\\apps\\1.bat")
  181. if cmd == "запустить CS GO":
  182. open("steam://rungameid/730")
  183. if cmd == "запусти реалм рояль":
  184. open("steam://rungameid/813820")
  185. #команды для разговоров
  186. #команда "анекдот"
  187. if((cmd.find("пошути")!=-1) or (cmd.find("Расскажи анекдот")!=-1)):
  188. speak("Пытаясь ответить на вопрос о том, что делать с коррупцией на Украине, человекоподобный робот София зависла")
  189. #Команда: привет
  190. if cmd == "Привет":
  191. now = datetime.datetime.now()
  192. if now.hour > 18 :
  193. speak("Добрый вечер")
  194. else:
  195. speak("Добрый день")
  196. if cmd == "тест 123":
  197. speak("Проверка прошла успешно")
  198. if cmd == "Чему равно число Пи":
  199. speak("число пи равно трём целым, четырнадцать сотых")
  200. #как дела
  201. if cmd == "Как дела":
  202. speak("Всегда идеальное настроение, а у вас оно какое ?")
  203. with sr.Microphone(device_index=1) as source:
  204. audio = r.listen(source)
  205. nastr = r.recognize_google(audio, language = "ru-RU")
  206. if nastr == "плохое":
  207. speak("попробуйте порадовать себя едой, побегать, пообщаться со знакомыми дабы стресс ушёл")
  208. if nastr == "хорошее":
  209. speak("Иии это хорошо!")
  210. if nastr == "идеальное":
  211. speak("Вам сегодня повезло!")
  212. #орёл или решка?
  213. if((cmd.find("Орёл или решка")!=-1) or (cmd.find("подбрось монетку")!=-1) or (cmd.find("Орел и решка")!=-1)):
  214. aaa = random.randint(1, 2)
  215. if aaa == 2:
  216. speak("орёл")
  217. if aaa == 1:
  218. speak("решка")
  219. #команды для экстренных случаев
  220. if cmd == ("стоп"):
  221. speak("Досвидание")
  222. sys.exit(0)
  223. if cmd == ("пока"):
  224. speak("Досвидание")
  225. sys.exit(0)
  226. else:
  227. print("[Ошибка] оператор не опознан.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement