import pyttsx3 import datetime import speech_recognition as sr import wikipedia import smtplib import webbrowser as wb import os import pyautogui import psutil import pyjokes engine = pyttsx3.init() def speak(audio): engine.say(audio) engine.runAndWait() def time(): Time = datetime.datetime.now().strftime("%H:%M:%S") speak("The current time is:") speak(Time) def date(): Year=int(datetime.datetime.now().year) Month=int(datetime.datetime.now().month) Date=int(datetime.datetime.now().day) speak("The current date is:") speak(Date) speak(Month) speak(Year) def wishme(): speak("Welcome Back Aayush Sir!") hour=datetime.datetime.now().hour if hour>=6 and hour<=12: speak("Good Morning!") elif hour>=12 and hour<=17: speak("Good Afternoon!") elif hour>=17 and hour<=19: speak("Good Evening!") speak("This is Jarvis") def take_cmd(): 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(Query) except Exception as e: print(e) speak("Sorry, I beg your pardon sir!") return "None" return Query def send_email(to,content): server = smtplib.SMTP('smtp.gmail.com',587) server.ehlo() server.starttls() server.login('[email protected]','Ayush@123') server.sendmail('[email protected]',to,content) server.close() def screenshot(): img = pyautogui.screenshot() img.save("C:\\Users\\Ayush Sharma\\Downloads\\Photos\\Jarvis_ss.png") def cpu(): usage = str(psutil.cpu_percent()) speak("CPU is working at" + usage + "Percentage") def battery(): battery = psutil.sensors_battery() speak("Reamining battery percentage is") speak(battery.percent) def jokes(): speak(pyjokes.get_joke()) if __name__ == "__main__": wishme() while True: speak("What should I do Sir?") Query = take_cmd().lower() if 'time' in Query: time() elif 'date' in Query: date() elif 'search' in Query: speak("Searching...") print("Searching...") Query = Query.replace("wikipedia","") result = wikipedia.summary(Query, sentences=2) print(result) speak(result) elif 'email' in Query: try: speak("What is your message sir?") content = take_cmd() to = '[email protected]' send_email(to,content) speak("Email has been successfully sent") except Exception as e: print(e) speak("I wasn't able to send the email sir!") elif 'chrome' in Query: speak("What should I search sir?") search = take_cmd().lower() wb.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open_new_tab(search + '.com') elif 'logout' in Query: os.system("shutdown -1") elif 'shutdown' in Query: os.system("shutdown /s /t 1") elif 'restart' in Query: os.system("shutdown /r /t 1") elif 'songs' in Query: songs = os.listdir('G:\\Music') os.startfile(os.path.join('G:\\Music', songs[0])) elif 'remember that' in Query: speak("What should I remember sir?") data = take_cmd() speak("You've told me to remember that" + data) remember = open('data.txt','w') remember.write(data) remember.close() elif 'to remember' in Query: remember = open('data.txt','r') speak("You told me to remember that" + remember.read()) elif 'screenshot' in Query: screenshot() speak("Took the screenshot sir!") elif 'cpu' in Query: cpu() elif 'battery' in Query: battery() elif 'joke' in Query: jokes() elif 'offline' in Query: speak("Okay sir") quit()