-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tars.py
195 lines (155 loc) · 5.51 KB
/
Tars.py
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
#from tkinter.tix import MAIN
#from pip import main
#import pyaudio
from datetime import datetime
from time import strftime
import pyttsx3
import speech_recognition as sr
import wikipedia
import webbrowser
import os
#import smtplib
import requests
from bs4 import BeautifulSoup
import pyautogui
import pywhatkit
from os import startfile
import pyjokes
# from pyautogui import click
# from keyboard import press
# from keyboard import write
# from time import time
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
#print(voices[0].id)
engine.setProperty('voice', voices[1].id)
engine.setProperty('rate', 175)
def speak(audio):
engine.say(audio)
engine.runAndWait()
print(f": {audio}")
def wishMe():
hour = int(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 Tars! Your personal AI assistant! How may I help you?")
def closeApp():
speak("okay!")
if 'youtube' in query:
os.system("TASKKILL /F /im chrome.exe")
elif 'chrome' in query:
os.system("TASKKILL /F /im chrome.exe")
elif 'telegram' in query:
os.system("TASKKILL /F /im telegram.exe")
elif 'vs code' in query:
os.system("TASKKILL /F /im code.exe")
speak("successfully closed")
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-in')
print("user said:", query)
except Exception as e:
print(e)
print("Say that again please!!")
return "None"
return query
if __name__ == "__main__":
wishMe()
while True:
#if 1:
query = takeCommand().lower() # type: ignore
if 'wikipedia' in query:
speak('Searching wikipedia... Please wait')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
speak('According to wikipedia')
print(results)
speak(results)
elif 'I am working on ' in query:
speak("It is good to see you working .. I am very much glad to work with you.")
elif 'how are you working today' in query:
speak("I am okay! Thank you! I am currently working hard on my new features.")
elif 'you need a break' in query:
speak("sure maam!as you wish!")
elif 'have a coffee' in query :
speak("okay maam! do not forget your coffee too. It's good for human's health")
elif 'open youtube' in query:
speak("here we go")
webbrowser.open("youtube.com")
# elif 'open google' in query:
# speak("searching")
# webbrowser.open("google.com")
elif 'launch website' in query:
speak("which website")
webname = takeCommand()
web = 'https://www.' + webname + '.com' # type: ignore
webbrowser.open(web)
speak("launched!!")
elif 'open telegram' in query:
speak("as your wish")
telepath = (":\\Users\\soujanya\\AppData\\Roaming\\Telegram Desktop")
os.startfile(telepath)
# elif 'open discord' in query:
# speak("here we go")
# dispath = ("")
# os.startfile(telepath)
elif 'play music' in query:
speak("from where")
location = takeCommand()
music_dir = 'D:\\' + location # type: ignore
songs = os.listdir(music_dir)
print(songs)
os.startfile(os.path.join(music_dir, songs[0]))
elif 'play a song' in query:
speak("which song")
songname = takeCommand()
speak("here enjoy your song")
pywhatkit.playonyt(songname)
elif 'the time' in query:
strTime = datetime.now().strftime("%H:%M:%S")
speak(f"the time is {strTime} AM")
elif 'open code' in query:
speak("code again!!!")
codepath = "E:\\Users\\soujanya\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
os.startfile(codepath)
elif 'temperature' in query:
search = "temperature in kolkata"
url = f"https://www.google.com/search?q={search}"
r = requests.get(url)
data = BeautifulSoup(r.text,"html.parser")
temp = data.find("div",class_="BNeawe").text
speak(f"current temperature is {temp}")
elif 'screenshot' in query:
speak("where should I save this?")
path = takeCommand()
pathname = path + ".png"
path1 = "C:\\Users\\Windows 10\\OneDrive\\Pictures\\Screenshots\\" + pathname
ss = pyautogui.screenshot()
ss.save(path1)
os.startfile("C:\\Users\\Windows 10\\OneDrive\\Pictures\\Screenshots")
speak("saved!")
elif 'tell me a joke' in query:
jokes = pyjokes.get_joke('en', category= "neutral")
#print(jokes)
speak(jokes)
elif 'chrome' in query:
closeApp()
elif 'youtube' in query:
closeApp()
elif 'vs code' in query:
closeApp()
elif 'telegram' in query:
closeApp()
elif 'bye' in query:
speak("Bye maam! Call me anytime you need.")
break