Friday, April 16, 2021

Google Assistant program sent by Blessen Eby & Aaron Mohan Varghese

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