JARVIS
from sys import path
import pyautogui,sys,time
import pyttsx3
import datetime
import speech_recognition as sr
import wikipedia
import webbrowser
import os
engine=pyttsx3.init('sapi5')
voices=engine.getProperty('voices')
engine.setProperty('voice',voices[0].id)
def speek(audio):
engine.say(audio)
engine.runAndWait()
def wishme():
hour=int(datetime.datetime.now().hour)
if hour>=0 and hour<12:
speek("iinddrraya kaalai vanakam")
elif hour>=12 and hour<18:
speek("mathiya vanakam")
else:
speek("maallai vanakam")
speek("ongalukaga naa enna pannalaam")
def takecommand():
r=sr.Recognizer()
with sr.Microphone() as source:
print("listening...")
r.pause_threshold=1
audio=r.listen(source)
try:
print("wait for few moments")
query=r.recognize_google(audio,language='en-in')
print("user said", query)
except Exception as e:
print(e)
speek("noting")
return query
if __name__ == "__main__":
wishme()
while True:
query = takecommand().lower()
if "go" in query:
speek("i am back sir what do you wan't")
while True:
query = takecommand().lower()
if "wikipedia" in query:
speek("searching in wikipedia")
query=query.replace("wikipedia","")
result=wikipedia.summary(query,sentences=2)
speek("according to wikipedia")
speek(result)
elif 'open youtube' in query:
speek("opening youtube")
webbrowser.open("https://www.youtube.com/")
elif 'open social class' in query:
speek("opening social class")
webbrowser.open("https://classroom.google.com/u/3/c/MzU3ODI5NzE2MDUx")
elif 'open math class' in query:
speek("opening math class")
webbrowser.open("https://classroom.google.com/u/3/c/MzU4MTMzNjAzMjE2")
elif 'open science class' in query:
speek("opening science class")
webbrowser.open("https://classroom.google.com/u/3/c/MzU3Njk0OTQxMzEw")
elif 'open english class' in query:
speek("opening english class")
webbrowser.open("https://classroom.google.com/u/3/c/MzY0NzgxNTg4ODc1")
elif 'open tamil class' in query:
speek("opening tamil class")
webbrowser.open("https://classroom.google.com/u/3/c/MzU4MDg3NDc5MDA5")
elif 'open google' in query:
speek("opening google")
webbrowser.open("www.google.com")
elif 'open classroom' in query:
speek("opening classroom")
webbrowser.open("https://classroom.google.com/u/3/c/MzUyOTk5ODYwNjUx")
elif 'open channel' in query:
speek("opening channel")
webbrowser.open("https://www.youtube.com/channel/UCVgNUUmjOCSdakTKUw--L1Q")
elif 'open whatsapp' in query:
speek("opening whatsapp")
webbrowser.open("https://web.whatsapp.com/")
elif 'open book' in query:
speek("opening book")
webbrowser.open("https://books.google.com/books?op=library&hl=en")
elif 'overflow' in query:
speek("opening stack over flow")
webbrowser.open("https://stackoverflow.com/")
elif 'play music' in query:
speek("playing song")
musicdir="C:\\Users\\welcome\\Desktop\\New folder ()\\CODING TIME SONG"
songs=os.listdir(musicdir)
print(songs)
print('enter a s number')
snumber =input()
os.startfile(os.path.join(musicdir,songs[int(snumber)]))
elif 'open code' in query:
speek("opening vs code")
codepath="C:\\Users\\welcome\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
os.startfile(codepath)
elif 'open chrome' in query:
codepath1="C:\\Users\\welcome\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe"
os.startfile(codepath1)
speek("opening chome")
elif 'open zoom' in query:
speek("opening zoom")
codepath2="C:\\Users\\welcome\\AppData\\Roaming\\Zoom\\bin\\Zoom.exe"
os.startfile(codepath2)
elif "open obs" in query:
speek("opening obs")
codepath3="C:\\Program Files\\obs-studio\\bin\\64bit\\obs64.exe"
os.startfile(codepath3)
elif "open excel" in query:
speek("opening excel")
codepath4="C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs"
os.startfile(codepath4)
elif "open open shot" in query:
speek("opening open shot")
codepath5="C:\\Program Files\\OpenShot Video Editor\\openshot-qt.exe"
os.startfile(codepath5)
elif "open power point" in query:
speek("opening power point")
codepath6="C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\POWERPNT.EXE"
os.startfile(codepath6)
elif "open word" in query:
speek("opening word")
codepath8="C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\WINWORD.EXE"
os.startfile(codepath8)
elif "open microsoft edge" in query:
speek("opening microsoft edge")
codepath9="C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
os.startfile(codepath9)
elif "open team viewer" in query:
speek("opening team viewer")
codepath10="C:\\Program Files (x86)\\TeamViewer\\TeamViewer.exe"
os.startfile(codepath10)
elif "open unity" in query:
speek("opening unity")
codepath11="C:\\Program Files\\Unity Hub\\Unity Hub.exe"
os.startfile(codepath11)
elif "open anydesk" in query:
speek("opening anydesk")
codepath12="C:\\Program Files (x86)\\AnyDesk\\AnyDesk.exe"
os.startfile(codepath12)
elif "subscribe" in query:
#move to chrome
pyautogui.moveTo(620,889)
pyautogui.click()
time.sleep(5)
#move to new tab
pyautogui.moveTo(258,14)
pyautogui.click()
time.sleep(2)
#move to youtube
pyautogui.moveTo(783,514)
pyautogui.click()
time.sleep(5)
#move to change account
pyautogui.moveTo(1534,104)
pyautogui.click()
time.sleep(5)
#move to account
pyautogui.moveTo(1443,345)
pyautogui.click()
time.sleep(5)
#open account
pyautogui.moveTo(1326,453)
pyautogui.click()
time.sleep(2)
#click on search
pyautogui.moveTo(726,95)
pyautogui.click()
time.sleep(2)
#type the channel namethe coder tamil
pyautogui.write("the coder tamil")
pyautogui.press('enter')
time.sleep(2)
#click on filtter
pyautogui.moveTo(423,167)
pyautogui.click()
time.sleep(5)
#channel fillter
pyautogui.moveTo(592,291)
pyautogui.click()
time.sleep(3)
#open channel
pyautogui.moveTo(836,390)
pyautogui.click()
time.sleep(5)
#subscribe
pyautogui.moveTo(1520,184)
pyautogui.click()
time.sleep(3)
#click on bell
pyautogui.moveTo(1530,180)
pyautogui.click()
time.sleep(5)
#click on all
pyautogui.moveTo(1495,218)
pyautogui.click()
time.sleep(5)
elif "screenshot 1" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot.png')
speek("taken screen shot 1")
elif "screenshot 2" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot2.png')
speek("taken screen shot 2")
elif "screenshot 3" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot3.png')
speek("taken screen shot 3")
elif "screenshot 4" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot4.png')
speek("taken screen shot 4")
elif "screenshot 5" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot5.png')
speek("taken screen shot 5")
elif "screenshot 6" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot6.png')
speek("taken screen shot 6")
elif "screenshot 7" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot7.png')
speek("taken screen shot 7")
elif "screenshot 8" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot8.png')
speek("taken screen shot 8")
elif "screenshot 9" in query:
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot9.png')
speek("taken screen shot 9")
elif 'play song' in query:
pyautogui.moveTo(1446,0)
pyautogui.click()
pyautogui.moveTo(1562,454)
pyautogui.click(clicks=2)
time.sleep(1)
pyautogui.moveTo(314,59)
pyautogui.click()
pyautogui.moveTo(99,123)
pyautogui.click()
elif 'pause song' in query:
pyautogui.moveTo(816,864)
pyautogui.click()
pyautogui.moveTo(21,838)
pyautogui.click()
elif 'unpause song' in query:
pyautogui.moveTo(816,864)
pyautogui.click()
pyautogui.moveTo(21,838)
pyautogui.click()
elif 'change song' in query:
pyautogui.moveTo(816,864)
pyautogui.click()
pyautogui.moveTo(350,106)
pyautogui.click(clicks=2)
elif 'machine learning' in query:
speek("opening machine learning")
pyautogui.moveTo(515,880)
pyautogui.click()
time.sleep(1)
pyautogui.write('cd C:\\Users\\welcome\\Desktop\\ML')
pyautogui.press('enter')
pyautogui.write('conda activate C:\\Users\\welcome\\Desktop\\ML\\env')
pyautogui.press('enter')
pyautogui.write('jupyter notebook')
pyautogui.press('enter')
elif 'convert' in query:
speek("opening convert")
webbrowser.open("https://cloudconvert.com/")
elif 'login class' in query:
speek("logging in class")
pyautogui.moveTo(620,878)
pyautogui.click()
time.sleep(3)
pyautogui.moveTo(269,10)
pyautogui.click()
time.sleep(2)
pyautogui.moveTo(584,541)
pyautogui.click()
time.sleep(10)
pyautogui.moveTo(788,568)
pyautogui.click()
time.sleep(5)
pyautogui.moveTo(627,603)
pyautogui.click()
time.sleep(3)
pyautogui.moveTo(909,221)
pyautogui.click()
pyautogui.moveTo(921,221)
pyautogui.click()
time.sleep(5)
pyautogui.moveTo(1033,646)
pyautogui.click()
time.sleep(3)
pyautogui.moveTo(901,510)
pyautogui.click()
time.sleep(3)
pyautogui.moveTo(826,391)
pyautogui.click()
time.sleep(3)
pyautogui.moveTo(417,828)
pyautogui.click()
elif 'very small' in query:
speek("minimizing")
pyautogui.moveTo(1477,12)
pyautogui.click()
elif 'close' in query:
speek("closing current app")
pyautogui.moveTo(1591,15)
pyautogui.click()
elif 'small' in query:
speek("smalling")
pyautogui.moveTo(1522,3)
pyautogui.click()
elif 'take photo' in query:
pyautogui.moveTo(66,883)
pyautogui.click()
time.sleep(1)
pyautogui.write("camera")
pyautogui.press('enter')
time.sleep(2)
speek("say cheese")
time.sleep(5)
pyautogui.moveTo(1105,461)
pyautogui.click()
speek("taken photo")
elif 'calculator' in query:
def add(a,b):
return a+b
def sub(a,b):
return a-b
def mul(a,b):
return a*b
def div(a,b):
try:
return a/b
except ZeroDivisionError:
print('Enter b value greater than 0 for division')
val = int(input('Enter the number to perform the operation :\n1.Addition\n2.Subtraction\n3.Multiplication\n4.Division\n'))
if(val > 4):
print('enter correct value')
else:
a = int(input('Enter value for a: '))
b = int(input('Enter value for b: '))
if(val == 1):
print('result: ' ,add(a,b))
elif(val == 2):
print('result: ',sub(a,b))
elif(val == 3):
print('result: ',mul(a,b))
elif(val == 4):
print('result: ',div(a,b))
else:
print('Enter the correct value')
elif 'full screen' in query:
pyautogui.press('f11')
elif 'show time' in query:
pyautogui.moveTo(1511,883)
pyautogui.click()
speek("this is the time")
elif 'the time' in query:
time=datetime.datetime.now().strftime("%H:%M")
speek(time)
elif 'quit' in query:
speek("being quite")
break