import subprocess
import wolframalpha
import pyttsx3
import tkinter
import json
import random
import operator
import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os
import winshell
import pyjokes
import feedparser
import smtplib
import ctypes
import time
import requests
import shutil
from [Link] import Client
from [Link] import progress
from ecapture import ecapture as ec
from bs4 import BeautifulSoup
import [Link] as wincl
from [Link] import urlopen
engine = [Link]('sapi5')
voices = [Link]('voices')
[Link]('voice', voices[1].id)
def speak(audio):
[Link](audio)
[Link]()
def wishMe():
hour = int([Link]().hour)
if hour>= 0 and hour<12:
speak("Good Morning!")
elif hour>= 12 and hour<18:
speak("Good Afternoon!")
else:
speak("Good Evening !")
speak("I am your ash")
def username():
speak("What should i call you")
uname = takeCommand()
speak("Welcome ")
speak(uname)
columns = shutil.get_terminal_size().columns
print("#####################".center(columns))
print("Welcome .", [Link](columns))
print("#####################".center(columns))
speak("How can i Help you,")
def takeCommand():
r = [Link]()
with [Link]() as source:
print("Listening...")
r.pause_threshold = 0.5
audio = [Link](source)
try:
print("Recognizing...")
query = r.recognize_google(audio, language ='en-in')
print(f"User said: {query}\n")
except Exception as e:
print(e)
print("Unable to Recognize your voice.")
return "None"
return query
def sendEmail(to, content):
server = [Link]('[Link]', 587)
[Link]()
[Link]()
# Enable low security in gmail
[Link]('your email id', 'your email password')
[Link]('your email id', to, content)
[Link]()
if __name__ == '__main__':
clear = lambda: [Link]('cls')
# This Function will clean any
# command before execution of this python file
clear()
wishMe()
username()
while True:
query = takeCommand().lower()
# All the commands said by user will be
# stored here in 'query' and will be
# converted to lower case for easily
# recognition of command
if 'wikipedia' in query:
speak('Searching Wikipedia...')
query = [Link]("wikipedia", "")
results = [Link](query, sentences = 3)
speak("According to Wikipedia")
print(results)
speak(results)
elif 'open youtube' in query:
speak("Here you go to Youtube\n")
[Link]("[Link]")
elif 'open google' in query:
speak("Here you go to Google\n")
[Link]("[Link]")
elif 'open stack overflow' in query:
speak("Here you go to Stack Over [Link] coding")
[Link]("[Link]")
#elif 'play music' in query or "play song" in query:
speak("Here you go with music")
# music_dir = "G:\\Song"
music_dir = "C:\\Users\\GAURAV\\Music"
songs = [Link](music_dir)
print(songs)
random = [Link]([Link](music_dir, songs[1]))
elif 'the time' in query:
strTime = [Link]().strftime("% H:% M:% S")
speak("the time is {strTime}")
#elif 'open opera' in query:
codePath = r"C:\\Users\\GAURAV\\AppData\\Local\\Programs\\Opera\\
[Link]"
[Link](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, ")
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 = [Link]("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 gururaj,shreya,ashish and
shushant.")
elif 'joke' in query:
speak(pyjokes.get_joke())
elif "calculate" in query:
app_id = "22L334-5G8TTH5A72"
client = [Link](app_id)
indx = [Link]().split().index('calculate')
query = [Link]()[indx + 1:]
res = [Link](' '.join(query))
answer = next([Link]).text
print("The answer is " + answer)
speak("The answer is " + answer)
elif 'search' in query or 'play' in query:
query = [Link]("search", "")
query = [Link]("play", "")
[Link](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 gururaj. 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 [Link]"
[Link](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 gururaj")
elif 'reason for you' in query:
speak("I was created as a Minor project by Mister gururaj ")
elif 'change background' in query:
[Link](20,
0,
"Locat
ion of wallpaper",
0)
speak("Background changed successfully")
elif 'open bluestack' in query:
appli = r"C:\Program Files (x86)\BlueStacks X\BlueStacks [Link]"
[Link](appli)
elif 'news' in query:
try:
jsonObj = urlopen('''[Link]
q=tesla&from=2024-06-
14&sortBy=publishedAt&apiKey=d59d777eb3e349238a4fde303653dbc4''')
data = [Link](jsonObj)
i = 1
speak('here are some top news from the times of india')
print('''=============== TIMES OF INDIA ============'''+ '\
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")
[Link]()
elif 'shutdown system' in query:
speak("Hold On a Sec ! Your system is on its way to shut
down")
[Link]('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())
[Link](a)
print(a)
elif "where is" in query:
query = [Link]("where is", "")
location = query
speak("User asked to Locate")
speak(location)
[Link]("[Link] / maps / place/" +
location + "")
elif "camera" in query or "take a photo" in query:
[Link](0, "Jarvis Camera ", "[Link]")
elif "restart" in query:
[Link](["shutdown", "/r"])
elif "hibernate" in query or "sleep" in query:
speak("Hibernating")
[Link]("shutdown / h")
elif "log off" in query or "sign out" in query:
speak("Make sure all the application are closed before sign-out")
[Link](5)
[Link](["shutdown", "/l"])
elif "write a note" in query:
speak("What should i write, sir")
note = takeCommand()
file = open('[Link]', 'w')
speak("Sir, Should i include date and time")
snfm = takeCommand()
if 'yes' in snfm or 'sure' in snfm:
strTime = [Link]().strftime("% H:% M:% S")
[Link](strTime)
[Link](" :- ")
[Link](note)
else:
[Link](note)
elif "show note" in query:
speak("Showing Notes")
file = open("[Link]", "r")
print([Link]())
speak([Link](6))
#elif "update assistant" in query:
#speak("After downloading file please replace this file with the
downloaded one")
#url = '# url after uploading file'
#r = [Link](url, stream = True)
#with open("[Link]", "wb") as Pypdf:
#total_length =int([Link]('content-length'))
#for ch in [Link](r.iter_content(chunk_size =
2391975),
#expected_size =(total_length
/ 1024) + 1):
#if ch:
#[Link](ch)
# NPPR9-FWDCX-D2C8J-H872K-2YT43
elif "jarvis" in query:
wishMe()
speak("Jarvis 1 point o in your service Mister")
#speak(assname)
#elif "weather" in query:
# Google Open weather website
# to get API of Open weather
api_key = "22L334-5G8TTH5A72"
base_url = "[Link] / data / 2.5 /
weather?"
speak(" City name ")
print("City name : ")
city_name = takeCommand()
complete_url = base_url + "appid =" + api_key + "&q =" +
city_name
response = [Link](complete_url)
x = [Link]()
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:
# You need to create an account on Twilio to use this
service
#account_sid = 'Account Sid key'
#auth_token = 'Auth token'
#client = Client(account_sid, auth_token)
#message = [Link] \
#.create(
#body = takeCommand(),
#from_='Sender No',
#to ='Receiver No'
#)
#print([Link])
elif "wikipedia" in query:
[Link]("[Link]")
elif "Good Morning" in query:
speak("A warm" +query)
speak("How are you Mister")
#speak(assname)
# most asked question from google Assistant
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:
#Use the same API key
#that we have generated earlier
client = [Link]("22L334-5G8TTH5A72")
res = [Link](query)
try:
print (next([Link]).text)
speak (next([Link]).text)
except StopIteration:
print ("No results")
# elif "" in query:
# Command go here
# For adding more commands