Import Import As Import Import Import Import Import Import Import Import As Import Import Import Import

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

import 

pyttsx3 #pip install pyttsx3
import speech_recognition as sr #pip install speechRecognition
import datetime
import wikipedia #pip install wikipedia
import webbrowser
import os
import smtplib
import sys
import wmi
import tkinter as tk
import pyjokes
#import psutil
import ctypes
#import pygame
import re
# import required modules 
import requests, json 

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
# print(voices[1].id)
engine.setProperty('voice', voices[1].id)

#initialization of pygame 
#pygame.init()

#screen = pygame.display.set_mode((800,600))
#running = True
#while running:
#    for event in pygame.event.get():
#        if event.type == pygame.QUIT:
#            running=False

def speak(audio):
    engine.say(audio)
    engine.runAndWait() 

def gooffline():
    speak('ok sir')
    speak('As you wish')
    speak('closing the program')
    speak('going offline')
    quit()

def shutdown():
    speak('understood sir')
    speak('connecting to command prompt')
    speak('shutting down your computer')
    os.system('shutdown -s') 

def gooff():
    os.system('shutdown -s')

def brightness(voice_note):
    if 'decrease ' in voice_note:
        print ('ok listen.......')
        dec = wmi.WMI(namespace='wmi')
        methods = dec.WmiMonitorBrightnessMethods()[0]
        methods.WmiSetBrightness(30, 0)
    elif 'increase ' in voice_note:
        print ('ok listen.......')
        ins = wmi.WMI(namespace='wmi')
        methods = ins.WmiMonitorBrightnessMethods()[0]
        methods.WmiSetBrightness(100, 0)

#def confimation():
#    nam = input()
#    speak("what is your name")
#    if 'steve' in nam or 'stephen' in nam:
#        speak("welcame mister steve")
#    elif 'satish'in nam:
#        speak("welcome mister satish")
#    elif 'tina'in nam:
#        speak("welcome misses tina")
#    elif''in nam:
#        gooff()

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!")   
    else:
        speak("Good Evening!")  

    speak("I am friday ,Sir Please tell me how may I help you")       

def takeCommand():
    #It takes microphone input from the user and returns string output

    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-in')
        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()
    server.login('stephenchaudhary@peterspanchgani.org', 'A@1234567')
    server.sendmail('stephenchaudhary@peterspanchgani.org', to, content)
    server.close()

if __name__ == "__main__":
    #confimation()
    wishMe()
    while True:
    # if 1:
        

        query = takeCommand().lower()

        # Logic for executing tasks based on query
        if 'wiki' in query or 'how' in query or 'who' in query:
            speak('Searching...')
            query = query.replace("wikipedia", "")
            results = wikipedia.summary(query, sentences=2)
            speak("According to Wikipedia")
            print(results)
            speak(results)

        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 'open gmail' in query:
            webbrowser.open("gmail.com")          

        elif'open chrome' in query:
            chromepath = "C:\\Program Files (x86)\\Google\\Chrome\\
Application\\chrome.exe"
            os.startfile(chromepath) 

        # Music

        # Time
        elif 'time' in query:
            strTime = datetime.datetime.now().strftime("%H:%M:%S")    
            speak(f"Sir, the time is {strTime}")

        elif 'open code' in query:
            codePath = "E:\\Sublime Text 3"
            os.startfile(codePath)

        elif 'email' in query:
            try:
                speak("What should I say?")
                content = takeCommand()
                to = "stephenchaudhary@peterspanchgani.org"    
                sendEmail(to, content)
                speak("Email has been sent!")
            except Exception as e:
                print(e)
                speak("Sorry mister steve . I am not able to send this email") 
   
        elif 'hello' in query:
            speak('Hello Sir')

       
        elif'shutdown' in query:
            shutdown()
        elif'down' in query or 'abort' in query or 'stop' in query:
           gooffline()

        elif 'joke' in query:
            speak(pyjokes.get_joke())
            print(pyjokes.get_joke())
            
            else: 
                speak(" City Not Found ")
        #elif 'brightness' in query:
         #   brightness()      

You might also like