import pyttsx3
import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os
import smtplib
import pywhatkit
import pyjokes
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
def speak(audio):
engine.say(audio)
engine.runAndWait()
def wishMe():
hour = int(datetime.datetime.now().hour)
if hour>=0 and hour<12:
speak("Good Morning!")
elif hour>=12 and hour<18:
speak("Good Afternoon!")
elif hour==12:
speak('Sir,its mid day. Would you like me to help you with something')
else:
speak("Good Evening!")
speak("I am Dracore. Please tell me how may I help you, Sir")
def takeCommand():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
r.pause_threshold = 1
audio = r.listen(source)
try:
print("Recognizing...")
query = r.recognize_google(audio, language='en-uk')
print(f"User said: {query}\n")
except Exception as e:
# print(e)
print("Say that again please...")
return "None"
return query
def sendEmail(to, content):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
gmail, pword = "", ""
server.login(gmail, pword)
server.sendmail('binoythomas1108@gmail.com', to, content)
server.close()
if __name__ == "__main__":
wishMe()
while True:
query = takeCommand().lower()
if 'wikipedia' in query:
try:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
speak("According to Wikipedia")
print(results)
speak(results)
except:
speak('Sorry, this result does not exist')
elif 'who is' in query:
try:
speak('Searching in Wikipedia ...')
query = query.replace("who is", "")
results = wikipedia.summary(query, sentences=3)
speak("According to Wikipedia")
print(results)
speak(results)
except:
speak('sorry, this person does not exist')
elif 'open youtube' in query:
webbrowser.open("youtube.com")
elif 'open google' in query:
webbrowser.open("google.com")
elif 'open stackoverflow' in query:
webbrowser.open("stackoverflow.com")
elif 'music please' in query:
music_dir = 'G:/Music'
songs = os.listdir(music_dir)
print(songs)
os.startfile(os.path.join(music_dir, songs[0]))
elif 'the time' in query:
strTime = datetime.datetime.now().strftime("%H:%M:%S %p")
speak(f"Sir, the time is {strTime}")
elif 'open code' in query:
codePath = "C:/Users/user/Desktop"
os.startfile(codePath)
elif 'joke'in query:
speak(pyjokes.get_joke())
print(pyjokes.get_joke())
elif 'send an email' in query:
try:
speak("What should I say?")
content = takeCommand()
to = 'binoythomas1108@gmail.com'
sendEmail(to, content)
speak("Email has been sent!")
except Exception as e:
print(e)
speak("Sorry . I am not able to send this email")
elif 'play' in query:
video = query.replace('play','')
speak('playing....'+video)
pywhatkit.playonyt(video)
elif 'hello' in query:
speak('hi Sir ,Is there anything you need')
elif 'exit listening' in query:
speak('see you later sir')
exit()
elif 'what is your name' in query:
speak('my name is dracore')
elif 'search' in query:
query = query.replace('search','')
pywhatkit.search(query)
No comments:
Post a Comment