我正在尝试构建一个可以与人们互动并帮助他们快速更新的聊天机器人。下面是我用来从 youtube/google 获取搜索结果的代码。请告诉我问题出在哪里?
maya_google_search.py代码:
import speech_recognition
import pyttsx3
import pywhatkit
from wikipedia import wikipedia
import wikipedia as googleScrap
import webbrowser
engine = pyttsx3.init("sapi5")
voices = engine.getProperty("voices")
engine.setProperty("voice", voices[1].id)
engine.setProperty("rate", 150)
def speak(audio):
engine.say(audio)
engine.runAndWait()
def takeCommand():
r = speech_recognition.Recognizer()
with speech_recognition.Microphone() as source:
print("listening.............")
r.pause_threshold = 1
r.energy_threshold = 300
audio = r.listen(source,0,4)
try:
print("Understanding............")
query = r.recognize_google(audio, language='en-in')
print(f"You said: {query}\n")
except Exception as e:
print("Say that again")
speak("Say that again")
return "None"
return query
query = takeCommand().lower()
def Googlesearch(query):
if "google" in query:
query = query.replace("Maya", "")
query = query.replace("google search", "")
query = query.replace("google", "")
speak("This is what I found on Google.....")
try:
pywhatkit.search(query)
result = googleScrap.summary(query,sentences=2)
speak("According to Google..........")
speak(result)
except:
speak("No speakable output available")
def Youtubesearch(query):
if "youtube" in query:
query = query.replace("Maya", "")
query = query.replace("youtube search", "")
query = query.replace("youtube", "")
speak("This is what I found for your search!")
web = "https://www.youtube.com/results?search_query=" + query
webbrowser.open(web)
pywhatkit.playonyt(query)
speak("Done, sir")
maya_ai.py代码:
import pyttsx3
import speech_recognition
engine = pyttsx3.init("sapi5")
voices = engine.getProperty("voices")
engine.setProperty("voice", voices[1].id)
engine.setProperty("rate", 150)
def speak(audio):
engine.say(audio)
engine.runAndWait()
def takeCommand():
r = speech_recognition.Recognizer()
with speech_recognition.Microphone() as source:
print("listening.............")
r.pause_threshold = 1
r.energy_threshold = 300
audio = r.listen(source,0,4)
try:
print("Understanding............")
query = r.recognize_google(audio, language='en-in')
print(f"You said: {query}\n")
# speak(query)
except Exception as e:
print("Say that again")
return "None"
return query
if __name__ == "__main__":
while True:
query = takeCommand().lower()
if "wake up" in query:
from maya_greeting import greetMe
greetMe()
while True:
query = takeCommand().lower()
if "go to sleep" in query:
speak("Ok sir, You can call me anytime...")
break
elif "hello" in query:
speak("Hello Sir, how are you?")
elif "i am fine" in query:
speak("That's really great to know sir....")
elif "how are you":
speak("i am perfectly alright sir.")
elif "thank you" in query:
speak("you're welcome sir")
elif "google" in query:
from maya_google_search import Googlesearch
Googlesearch(query)
elif "youtube" in query:
from maya_google_search import Youtubesearch
Youtubesearch(query)
elif "wikipedia" in query:
from maya_google_search import Wikisearch
Wikisearch(query)
如果我说谷歌 Sundar Pichai,它只会打印我所说的内容,并说我很好,先生,或者什么也没有。
请帮我解决这个问题。
改变
elif "how are you":
对于
elif "how are you" in query: