Jarvis v1.0
import pyautogui
import speech_recognition as sr
import os
import sys
import webbrowser
import keyboard
import keyboard as keyb
import gtts
import pyttsx3
import pyautogui as pg
import time
def talk(words):
print(words) # Дополнительно выводим на экран
engine = pyttsx3.init()
engine.setProperty('rate', 180)
engine.setProperty('volume', 10)
engine.say("Здраствуйте, как я могу вам помочь?")
engine.runAndWait()
#pip install pyttsx3 pypiwin32
talk("Здраствуйте, как я могу вам помочь?")
##"""
## Функция command() служит для отслеживания микрофона.
## Вызывая функцию мы будет слушать что скажет пользователь,
## при этом для прослушивания будет использован микрофон.
## Получение данные будут сконвертированы в строку и далее
## будет происходить их проверка.
##"""
def command():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Слушаю")
r.pause_threshold = 0.5
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
try: # Обрабатываем все при помощи исключений
## """
## Распознаем данные из mp3 дорожки.
## Указываем что отслеживаемый язык русский.
## Благодаря lower() приводим все в нижний регистр.
## Теперь мы получили данные в формате строки,
## которые спокойно можем проверить в условиях
## """
zadanie = r.recognize_google(audio, language="ru-RU").lower()
print("Вы сказали: " + zadanie)
except sr.UnknownValueError:
talk("Команда не распознана")
zadanie = command()
return zadanie
#(
def makeSomething(zadanie):
if 'сайт' in zadanie:
engine.say("Одну секунду")
engine.runAndWait()
# Указываем сайт для открытия
url = 'https://www.innetgalaxy.com/'
webbrowser.open(url)
elif 'twitch' in zadanie:
engine.say("Открываю")
# Указываем сайт для открытия
engine.runAndWait()
url = 'https://www.twitch.tv/'
webbrowser.open(url)
elif 'шахматы' in zadanie:
engine.say("Одну секунду")
# Указываем сайт для открытия
engine.runAndWait()
url = 'https://www.chess.com/'
webbrowser.open(url)
elif 'новости' in zadanie:
engine.say("Как пожелаете")
# Указываем сайт для открытия
engine.runAndWait()
url = 'https://news.google.com/topics/CAAqKAgKIiJDQkFTRXdvSkwyMHZNR1ptZHpWbUVnSnlkUm9DVlVFb0FBUAE?hl=ru&gl=UA&ceid=UA%3Aru'
webbrowser.open(url)
elif 'гитхаб' in zadanie:
engine.say("Открываю")
# Указываем сайт для открытия
engine.runAndWait()
url = 'https://github.com/...'
webbrowser.open(url)
elif 'youtube' in zadanie:
engine.say("Ок")
engine.runAndWait()
# Указываем сайт для открытия
url = 'https://www.youtube.com/'
webbrowser.open(url)
elif 'музыка' in zadanie:
engine.say("Ок")
engine.runAndWait()
# Указываем сайт для открытия
os.system('"C:\\Users\\..."')
engine.runAndWait()
elif 'стоп' in zadanie:
engine.say("Одну секунду")
engine.say("Процесс завершен")
engine.runAndWait()
sys.exit()
elif 'остановить программу' in zadanie:
talk("Без вопросов")
engine.say("Программа преостоновленна")
engine.runAndWait()
sys.exit()
elif 'спокойной ночи' in zadanie:
engine.say("Спокойной ночи Сэр")
engine.runAndWait()
sys.exit()
elif 'имя' in zadanie:
engine.say("Джарвис, версия 1.0")
engine.runAndWait()
elif 'спасибо' in zadanie:
engine.say("Всегда пожалуйста")
engine.runAndWait()
elif 'доброе утро' in zadanie:
engine.say("Доброе утро Сэр")
engine.runAndWait()
elif 'привет' in zadanie:
engine.say("Здравствуйте")
engine.runAndWait()
elif 'добрый вечер' in zadanie:
engine.say("Добрый вечер Сэр")
engine.runAndWait()
elif 'как дела' in zadanie:
engine.say("Все как всегда - отлично")
engine.runAndWait()
elif 'Дискорд' in zadanie:
engine.say("Запуск")
os.system('C:\\Users\\...')
engine.runAndWait()
elif 'discord' in zadanie:
engine.say("Запуск")
os.system('C:\\Users\\...')
engine.runAndWait()
elif 'steam' in zadanie:
engine.say("Запуск")
os.system('C:\\Users\\...')
engine.runAndWait()
elif 'viber' in zadanie:
engine.say("Запуск")
os.system('C:\\Users\\...')
engine.runAndWait()
elif 'epic games' in zadanie:
engine.say("Запуск")
os.system('"C:\\Users\\..."')
engine.runAndWait()
elif 'google' in zadanie:
engine.say("Ok")
os.system('"C:\\Users\\..."')
engine.runAndWait()
elif 'диагностика' in zadanie:
engine.say("Произвожу диагностику")
engine.runAndWait()
os.system('dir/s')
elif 'сведения' in zadanie:
engine.say("Имя Джарвис")
engine.say("Версия 1.0")
engine.say("Имя разработчика Николай Сергеевич")
engine.say("Дата создания двадцать четвертое декабря две тысячи двадцать второго года")
engine.runAndWait()
elif 'диспетчер задач' in zadanie:
engine.say("Сию секунду")
engine.runAndWait()
os.system('"C:\\Users\\..."')
elif 'телеграмм' in zadanie:
engine.say("Готово")
engine.runAndWait()
os.system('"C:\\Users\\..."')
elif 'telegram' in zadanie:
engine.say("Готово")
engine.runAndWait()
os.system('"C:\\Users\\..."')
#)
while True:
makeSomething(command())