-
Notifications
You must be signed in to change notification settings - Fork 1
/
pc_assis.py
187 lines (154 loc) · 6.18 KB
/
pc_assis.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
import os
import ctypes
import pyjokes
import pyttsx3
import datetime
import requests
import pywhatkit
import wikipedia
import webbrowser
from mss import mss
from AppOpener import run
import send_mail
import send_text_message
import send_whatsapp_message
from bs4 import BeautifulSoup
import speech_recognition as sr
from colorama import Fore
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
def speak(audio):
engine.say(audio)
engine.runAndWait()
def wishMe():
hour = int(datetime.datetime.now().hour)
if hour >= 0 and hour < 12:
print("Good Morning sir ")
speak("Good Morning sir ")
elif hour >= 12 and hour < 18:
speak("Good Afternoon sir")
print("Good Afternoon sir")
else:
print("Good Evening sir")
speak("Good Evening sir")
speak("I am your personal computer assistant sir. please let me know how I can help you")
print("I am your personal computer assistant sir. please let me know how I can help you")
def takeCommand():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
r.pause_threshold = 0.7
speak("Say somthing...")
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)
speak("Say that again please...")
return "None"
return query
def main():
wishMe()
while True:
query = takeCommand().lower()
if 'on wikipedia' in query:
speak('Searching...')
query = query.replace("wikipedia", "")
results = wikipedia.summary(query, sentences=2)
print(results)
speak("According to Wikipedia")
speak(results)
elif 'song' in query or 'on youtube' in query or 'videos' in query or 'video' in query or 'play' in query:
print(query)
query = query.replace("play", "")
query = query.replace("youtube", "")
pywhatkit.playonyt(query)
elif 'on google' in query:
print(type(query))
query = query.replace("search", "")
comm = 'https://www.google.com/search?q='+query
webbrowser.open(comm)
elif 'joke' in query:
My_joke = pyjokes.get_joke(language="en", category="all")
print(My_joke)
speak(f" {My_joke}")
elif 'open' in query:
query = query.replace("open", "")
inp = query.strip()
if input:
run(inp)
speak(f" opening {inp}")
elif 'the time' in query:
strTime = datetime.datetime.now().strftime("%H:%M:%S")
print(strTime)
speak(f"Sir, the time is {strTime}")
elif 'temperature' in query:
message = query
contact = message.split(" of ")
place = contact[1]
search = 'temperature in '+place
url = f"https://www.google.com/search?q={search}"
data = BeautifulSoup(requests.get(url).text, "html.parser")
temp = data.find("div", class_="BNeawe").text
print(f"current {search} is {temp}")
speak(f"current {search} is {temp}")
elif "screenshot" in query:
with mss() as sct:
sct.shot()
for filename in sct.save():
print(filename)
speak("done")
elif "send mail to" in query:
send_mail.main(query)
elif "send text message to" in query:
send_text_message.main(query)
elif "send whatsapp message to" in query:
send_whatsapp_message.main(query)
elif 'exit' in query:
hour = int(datetime.datetime.now().hour)
if hour >= 0 and hour < 12:
print("ok sir, have a nice day and, Good Morning")
speak("ok sir, have a nice day and, Good Morning")
elif hour >= 12 and hour < 18:
print("ok sir, have a nice day and, Good Afternoon")
speak("ok sir, have a nice day and, Good Afternoon")
else:
print("ok sir, have a nice day and, Good night")
speak("ok sir, have a nice day and, Good night")
break
elif "lock my pc" in query:
hour = int(datetime.datetime.now().hour)
if hour >= 0 and hour < 12:
print("ok sir, have a nice day and, Good Morning")
speak("ok sir, have a nice day and, Good Morning")
elif hour >= 12 and hour < 18:
print("ok sir, have a nice day and, Good Afternoon")
speak("ok sir, have a nice day and, Good Afternoon")
else:
print("ok sir, have a nice day and, Good night")
speak("ok sir, have a nice day and, Good night")
ctypes.windll.user32.LockWorkStation()
# os.system("shutdown /s /t 5")
break
pc="""
||||||| ||||||||
|| || ||
|| || ||
||||||| ||
|| ||
|| ||||||||"""
assistent="""
//\\\\ |||||||| |||||||| |||||||||| |||||||| |||||||||| //\\\\ ||\\\\ || ||||||||||
// \\\\ || || || || || // \\\\ || \\\\ || ||
// \\\\ ||______ ||______ || ||______ || // \\\\ || \\\\ || ||
//------\\\\ || || || || || //------\\\\ || \\\\ || ||
// \\\\ || || || || || // \\\\ || \\\\ || ||
// \\\\ ||||||||| ||||||||| |||||||||| ||||||||| || // \\\\ || \\\\|| ||
"""
print(Fore.RED,pc)
print(Fore.GREEN,assistent)
if __name__ == "__main__":
main()