SMASIF

Lady Jarvis LARVIS

Aug 30th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.38 KB | None | 0 0
  1. import pyttsx3
  2. import webbrowser
  3. import smtplib
  4. import random
  5. import speech_recognition as sr
  6. import wikipedia
  7. import datetime
  8. import wolframalpha
  9. import os
  10. import sys
  11. import googlesearch
  12. import pyautogui
  13. import time
  14.  
  15. engine = pyttsx3.init('sapi5')
  16.  
  17. client = wolframalpha.Client('Your_App_ID')
  18.  
  19. voices = engine.getProperty('voices')
  20. engine.setProperty('voice', voices[len(voices) - 1].id)
  21.  
  22.  
  23. def speak(audio):
  24.     print('Computer: ' + audio)
  25.     engine.say(audio)
  26.     engine.runAndWait()
  27.  
  28.  
  29. def greetMe():
  30.     currentH = int(datetime.datetime.now().hour)
  31.     if currentH >= 0 and currentH < 12:
  32.         speak('Good Morning!')
  33.  
  34.     if currentH >= 12 and currentH < 18:
  35.         speak('Good Afternoon!')
  36.  
  37.     if currentH >= 18 and currentH != 0:
  38.         speak('Good Evening!')
  39.  
  40.  
  41. greetMe()
  42.  
  43. speak('Hello Sir, I am your digital assistant LARVIS the Lady Jarvis!')
  44. speak('How may I help you?')
  45.  
  46.  
  47. def myCommand():
  48.     r = sr.Recognizer()
  49.     with sr.Microphone() as source:
  50.         print("Listening...")
  51.         r.pause_threshold = 1
  52.         audio = r.listen(source)
  53.     try:
  54.         query = r.recognize_google(audio, language='en-in')
  55.         print('User: ' + query + '\n')
  56.  
  57.     except sr.UnknownValueError:
  58.         speak('Sorry sir! I didn\'t get that! Try typing the command!')
  59.         query = str(input('Command: '))
  60.  
  61.     return query
  62.  
  63.  
  64. if __name__ == '__main__':
  65.  
  66.     while True:
  67.  
  68.         query = myCommand();
  69.         query = query.lower()
  70.  
  71.         if 'open youtube' in query:
  72.             speak('okay')
  73.             webbrowser.open('www.youtube.com')
  74.  
  75.         elif 'open google' in query:
  76.             speak('okay')
  77.             webbrowser.open('www.google.co.in')
  78.  
  79.         elif 'open gmail' in query:
  80.             speak('okay')
  81.             webbrowser.open('www.gmail.com')
  82.  
  83.         elif "what\'s up" in query or 'how are you' in query:
  84.             stMsgs = ['Just doing my thing!', 'I am fine!', 'Nice!', 'I am nice and full of energy']
  85.             speak(random.choice(stMsgs))
  86.  
  87.         elif 'email' in query:
  88.             speak('Who is the recipient? ')
  89.             recipient = myCommand()
  90.  
  91.             if 'me' in recipient:
  92.                 try:
  93.                     speak('What should I say? ')
  94.                     content = myCommand()
  95.  
  96.                     server = smtplib.SMTP('smtp.gmail.com', 587)
  97.                     server.ehlo()
  98.                     server.starttls()
  99.                     server.login("Your_Username", 'Your_Password')
  100.                     server.sendmail('Your_Username', "Recipient_Username", content)
  101.                     server.close()
  102.                     speak('Email sent!')
  103.  
  104.                 except:
  105.                     speak('Sorry Sir! I am unable to send your message at this moment!')
  106.  
  107.  
  108.         elif 'nothing' in query or 'abort' in query or 'stop' in query:
  109.             speak('okay')
  110.             speak('Bye Sir, have a good day.')
  111.             sys.exit()
  112.  
  113.         elif 'hello' in query:
  114.             speak('Hello Sir')
  115.  
  116.         elif 'bye' in query:
  117.             speak('Bye Sir, have a good day.')
  118.             sys.exit()
  119.  
  120.         elif 'on youtube' in query:
  121.             webbrowser.open('https://www.youtube.com/results?search_query=' + query)
  122.             time.sleep(7)
  123.             speak('Okay, here is your music! Enjoy!')
  124.             pyautogui.press('tab')
  125.             time.sleep(1)
  126.             pyautogui.press('enter')
  127.  
  128.  
  129.  
  130.         else:
  131.             query = query
  132.             speak('Searching...')
  133.             try:
  134.                 try:
  135.                     res = client.query(query)
  136.                     results = next(res.results).text
  137.                     speak('WOLFRAM-ALPHA says - ')
  138.                     speak('Got it.')
  139.                     speak(results)
  140.  
  141.                 except:
  142.                     speak('You can see ' + query + 'on your browser')
  143.                     webbrowser.open('https://www.youtube.com/results?search_query=' + query)
  144.                     time.sleep(7)
  145.                     pyautogui.press('tab')
  146.                     time.sleep(1)
  147.                     pyautogui.press('enter')
  148.                     # results = wikipedia.summary(query, sentences=2)
  149.                     # speak('Got it.')
  150.                     # speak('WIKIPEDIA says - ')
  151.                     # speak(results)
  152.  
  153.             except:
  154.                 webbrowser.open('www.google.com')
  155.  
  156.         speak('Next Command! Sir!')
  157.  
  158.  
Add Comment
Please, Sign In to add comment