Voice Assistant using python (original) (raw)
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"
)