if
__name__
=
=
'__main__'
:
clear
=
lambda
: os.system(
'cls'
)
clear()
wishMe()
username()
while
True
:
query
=
takeCommand().lower()
if
'wikipedia'
in
query:
speak(
'Searching Wikipedia...'
)
query
=
query.replace(
"wikipedia"
, "")
results
=
wikipedia.summary(query, sentences
=
3
)
speak(
"According to Wikipedia"
)
print
(results)
speak(results)
elif
'open youtube'
in
query:
speak(
"Here you go to Youtube\n"
)
webbrowser.
open
(
"youtube.com"
)
elif
'open google'
in
query:
speak(
"Here you go to Google\n"
)
webbrowser.
open
(
"google.com"
)
elif
'open stackoverflow'
in
query:
speak(
"Here you go to Stack Over flow.Happy coding"
)
webbrowser.
open
(
"stackoverflow.com"
)
elif
'play music'
in
query
or
"play song"
in
query:
speak(
"Here you go with music"
)
music_dir
=
"C:\\Users\\GAURAV\\Music"
songs
=
os.listdir(music_dir)
print
(songs)
random
=
os.startfile(os.path.join(music_dir, songs[
1
]))
elif
'the time'
in
query:
strTime
=
datetime.datetime.now().strftime(
"% H:% M:% S"
)
speak(f
"Sir, the time is {strTime}"
)
elif
'open opera'
in
query:
codePath
=
r
"C:\\Users\\GAURAV\\AppData\\Local\\Programs\\Opera\\launcher.exe"
os.startfile(codePath)
elif
'email to gaurav'
in
query:
try
:
speak(
"What should I say?"
)
content
=
takeCommand()
to
=
"Receiver email address"
sendEmail(to, content)
speak(
"Email has been sent !"
)
except
Exception as e:
print
(e)
speak(
"I am not able to send this email"
)
elif
'send a mail'
in
query:
try
:
speak(
"What should I say?"
)
content
=
takeCommand()
speak(
"whome should i send"
)
to
=
input
()
sendEmail(to, content)
speak(
"Email has been sent !"
)
except
Exception as e:
print
(e)
speak(
"I am not able to send this email"
)
elif
'how are you'
in
query:
speak(
"I am fine, Thank you"
)
speak(
"How are you, Sir"
)
elif
'fine'
in
query
or
"good"
in
query:
speak(
"It's good to know that your fine"
)
elif
"change my name to"
in
query:
query
=
query.replace(
"change my name to"
, "")
assname
=
query
elif
"change name"
in
query:
speak(
"What would you like to call me, Sir "
)
assname
=
takeCommand()
speak(
"Thanks for naming me"
)
elif
"what's your name"
in
query
or
"What is your name"
in
query:
speak(
"My friends call me"
)
speak(assname)
print
(
"My friends call me"
, assname)
elif
'exit'
in
query:
speak(
"Thanks for giving me your time"
)
exit()
elif
"who made you"
in
query
or
"who created you"
in
query:
speak(
"I have been created by Gaurav."
)
elif
'joke'
in
query:
speak(pyjokes.get_joke())
elif
"calculate"
in
query:
app_id
=
"Wolframalpha api id"
client
=
wolframalpha.Client(app_id)
indx
=
query.lower().split().index(
'calculate'
)
query
=
query.split()[indx
+
1
:]
res
=
client.query(
' '
.join(query))
answer
=
next
(res.results).text
print
(
"The answer is "
+
answer)
speak(
"The answer is "
+
answer)
elif
'search'
in
query
or
'play'
in
query:
query
=
query.replace(
"search"
, "")
query
=
query.replace(
"play"
, "")
webbrowser.
open
(query)
elif
"who i am"
in
query:
speak(
"If you talk then definitely your human."
)
elif
"why you came to world"
in
query:
speak(
"Thanks to Gaurav. further It's a secret"
)
elif
'power point presentation'
in
query:
speak(
"opening Power Point presentation"
)
power
=
r
"C:\\Users\\GAURAV\\Desktop\\Minor Project\\Presentation\\Voice Assistant.pptx"
os.startfile(power)
elif
'is love'
in
query:
speak(
"It is 7th sense that destroy all other senses"
)
elif
"who are you"
in
query:
speak(
"I am your virtual assistant created by Gaurav"
)
elif
'reason for you'
in
query:
speak(
"I was created as a Minor project by Mister Gaurav "
)
elif
'change background'
in
query:
ctypes.windll.user32.SystemParametersInfoW(
20
,
0
,
"Location of wallpaper"
,
0
)
speak(
"Background changed successfully"
)
elif
'open bluestack'
in
query:
appli
=
r
"C:\\ProgramData\\BlueStacks\\Client\\Bluestacks.exe"
os.startfile(appli)
elif
'news'
in
query:
try
:
jsonObj
=
urlopen(
)
data
=
json.load(jsonObj)
i
=
1
speak(
'here are some top news from the times of india'
)
print
(
+
'\n')
for
item
in
data[
'articles'
]:
print
(
str
(i)
+
'. '
+
item[
'title'
]
+
'\n'
)
print
(item[
'description'
]
+
'\n'
)
speak(
str
(i)
+
'. '
+
item[
'title'
]
+
'\n'
)
i
+
=
1
except
Exception as e:
print
(
str
(e))
elif
'lock window'
in
query:
speak(
"locking the device"
)
ctypes.windll.user32.LockWorkStation()
elif
'shutdown system'
in
query:
speak(
"Hold On a Sec ! Your system is on its way to shut down"
)
subprocess.call(
'shutdown / p /f'
)
elif
'empty recycle bin'
in
query:
winshell.recycle_bin().empty(confirm
=
False
, show_progress
=
False
, sound
=
True
)
speak(
"Recycle Bin Recycled"
)
elif
"don't listen"
in
query
or
"stop listening"
in
query:
speak(
"for how much time you want to stop jarvis from listening commands"
)
a
=
int
(takeCommand())
time.sleep(a)
print
(a)
elif
"where is"
in
query:
query
=
query.replace(
"where is"
, "")
location
=
query
speak(
"User asked to Locate"
)
speak(location)
elif
"camera"
in
query
or
"take a photo"
in
query:
ec.capture(
0
,
"Jarvis Camera "
,
"img.jpg"
)
elif
"restart"
in
query:
subprocess.call([
"shutdown"
,
"/r"
])
elif
"hibernate"
in
query
or
"sleep"
in
query:
speak(
"Hibernating"
)
subprocess.call(
"shutdown / h"
)
elif
"log off"
in
query
or
"sign out"
in
query:
speak(
"Make sure all the application are closed before sign-out"
)
time.sleep(
5
)
subprocess.call([
"shutdown"
,
"/l"
])
elif
"write a note"
in
query:
speak(
"What should i write, sir"
)
note
=
takeCommand()
file
=
open
(
'jarvis.txt'
,
'w'
)
speak(
"Sir, Should i include date and time"
)
snfm
=
takeCommand()
if
'yes'
in
snfm
or
'sure'
in
snfm:
strTime
=
datetime.datetime.now().strftime(
"% H:% M:% S"
)
file
.write(strTime)
file
.write(
" :- "
)
file
.write(note)
else
:
file
.write(note)
elif
"show note"
in
query:
speak(
"Showing Notes"
)
file
=
open
(
"jarvis.txt"
,
"r"
)
print
(
file
.read())
speak(
file
.read(
6
))
elif
"update assistant"
in
query:
speak(
"After downloading file please replace this file with the downloaded one"
)
url
=
'# url after uploading file'
r
=
requests.get(url, stream
=
True
)
with
open
(
"Voice.py"
,
"wb"
) as Pypdf:
total_length
=
int
(r.headers.get(
'content-length'
))
for
ch
in
progress.bar(r.iter_content(chunk_size
=
2391975
),
expected_size
=
(total_length
/
1024
)
+
1
):
if
ch:
Pypdf.write(ch)
elif
"jarvis"
in
query:
wishMe()
speak(
"Jarvis 1 point o in your service Mister"
)
speak(assname)
elif
"weather"
in
query:
api_key
=
"Api key"
speak(
" City name "
)
print
(
"City name : "
)
city_name
=
takeCommand()
complete_url
=
base_url
+
"appid ="
+
api_key
+
"&q ="
+
city_name
response
=
requests.get(complete_url)
x
=
response.json()
if
x[
"code"
] !
=
"404"
:
y
=
x[
"main"
]
current_temperature
=
y[
"temp"
]
current_pressure
=
y[
"pressure"
]
current_humidiy
=
y[
"humidity"
]
z
=
x[
"weather"
]
weather_description
=
z[
0
][
"description"
]
print
(
" Temperature (in kelvin unit) = "
+
str
(current_temperature)
+
"\n atmospheric pressure (in hPa unit) ="
+
str
(current_pressure)
+
"\n humidity (in percentage) = "
+
str
(current_humidiy)
+
"\n description = "
+
str
(weather_description))
else
:
speak(
" City Not Found "
)
elif
"send message "
in
query:
account_sid
=
'Account Sid key'
auth_token
=
'Auth token'
client
=
Client(account_sid, auth_token)
message
=
client.messages \
.create(
body
=
takeCommand(),
from_
=
'Sender No'
,
to
=
'Receiver No'
)
print
(message.sid)
elif
"wikipedia"
in
query:
webbrowser.
open
(
"wikipedia.com"
)
elif
"Good Morning"
in
query:
speak(
"A warm"
+
query)
speak(
"How are you Mister"
)
speak(assname)
elif
"will you be my gf"
in
query
or
"will you be my bf"
in
query:
speak(
"I'm not sure about, may be you should give me some time"
)
elif
"how are you"
in
query:
speak(
"I'm fine, glad you me that"
)
elif
"i love you"
in
query:
speak(
"It's hard to understand"
)
elif
"what is"
in
query
or
"who is"
in
query:
client
=
wolframalpha.Client(
"API_ID"
)
res
=
client.query(query)
try
:
print
(
next
(res.results).text)
speak (
next
(res.results).text)
except
StopIteration:
print
(
"No results"
)