-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharic.py
More file actions
154 lines (118 loc) · 5.05 KB
/
aric.py
File metadata and controls
154 lines (118 loc) · 5.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
import pyttsx3
import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os
import smtplib
import pyowm
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)
def speak(audio):
engine.say(audio)
engine.runAndWait()
def welcomeMessage():
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("This is aric here. Please tell me how may I help you")
def takeCommand():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
r.pause_threshold = 1
audio = r.listen(source)
try:
print("Recognizing input...")
query = r.recognize_google(audio, language='en-in')
print(f"User said: {query}\n")
except Exception:
print("Can you please repeat...")
return "None"
return query
def sendEmail(to, content):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login('akki0510@gmail.com', 'anagha18')
server.sendmail('akki0510@gmail.com', to, content)
server.close()
if __name__ == "__main__":
welcomeMessage()
while True:
query = takeCommand().lower()
if 'wikipedia' in query:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
speak("According to Wikipedia")
print(results)
speak(results)
elif 'open youtube' in query:
speak("opening youtube")
webbrowser.open("youtube.com")
elif 'open google' in query:
speak("opening google")
webbrowser.open("google.com")
elif 'open stackoverflow' in query:
webbrowser.open("stackoverflow.com")
elif 'what can you do' in query:
speak("i can do internet surfing, search in wikipedia , play music, update you on weather forecast , send email on your behalf, tell you the current time and you can always modify or personalize the way you want ")
speak("what would you like me to do")
elif 'facebook' in query:
webbrowser.open("www.facebook.com")
elif 'search google' in query:
speak("what would you like to search")
q = takeCommand()
webbrowser.open( "https://www.google.com/search?source=hp&ei=CRzyXaPcG_fXz7sP3e6-uAc&q="+q)
elif 'play music' in query:
music_dir = 'C:\\Users\\aksha\\Music\\fav'
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")
speak(f"Sir, the time is {strTime}")
elif 'send a mail' in query:
try:
speak("to whom should i send")
to = takeCommand().lower()
mail = {'akshay': 'akshaikp1@gmail.com', 'joseph': 'akshaydileep@karunya.edu.in'}
if(to == 'send it to akshay' or 'send to akshay' or 'akshay'):
speak("What should I say?")
content = takeCommand()
sendEmail(mail['akshay'], content)
speak("Email has been sent!")
elif(to == 'send it to joseph' or 'send to joseph' or 'joseph'):
speak("What should I say?")
content = takeCommand()
sendEmail(mail['joseph'], content)
speak("Email has been sent!")
else:
speak("sorry the provided contact is not stored in my database.")
except Exception as e:
print(e)
speak("Sorry i wasn't able to send the mail please try again")
elif 'exit' in query:
hour = int(datetime.datetime.now().hour)
if hour >= 0 and hour < 18:
speak("As you say sir, Have a Good day")
exit()
else:
speak("As you say sir, Have a good night")
exit()
elif 'weather' in query:
own = pyowm.OWM('44c64ad532fd41e5c1f2a1adaf1da03c')
location = own.weather_at_place('Coimbatore')
weather = location.get_weather()
temperature = weather.get_temperature('celsius')
print("The temperature in coimbatore is: ",temperature['temp'], "°C ")
gettemp = temperature['temp']
speak(f"The temperature in coimbatore is {gettemp} degree celsius")
elif query != 'none':
webbrowser.open("https://www.google.com/search?source=hp&ei=CRzyXaPcG_fXz7sP3e6-uAc&q="+query)