import pyttsx3 import speech_recognition as sr import webbrowser as wb import subprocess import wikipedia wikipedia.set_lang("ru") def listen_command(): r = sr.Recognizer() with sr.Microphone() as source: print("Скажите команду: ") r.pause_threshold = 0.5 r.adjust_for_ambient_noise(source) audio = r.listen(source) try: our_speech = r.recognize_google(audio, language = "ru-RU") print("Вы сказали: " + our_speech) return our_speech except sr.UnknownValueError: return("Ошибка") except sr.RequestError: return("Ошибка") def do_this_message(message): message = message.lower() if "привет" in message: say_message("Здравствуй повелитель") elif "как дела" in message: say_message("У меня все отлично") elif "пока" in message: say_message("Пока!") exit() elif "найди" in message: say_message("Уже ищу") mes = message.split("найди") mes.pop(0) mes = "".join(mes) wb.open("https://www.google.com/search?q=" + mes) elif "steam" in message: say_message("Уже запускаю") subprocess.Popen(r"C:\Program Files (x86)\Steam\steam.exe") elif "telegram" in message: say_message("Уже запускаю") subprocess.Popen(r"C:\Users\utyara3\AppData\Roaming\Telegram Desktop\Telegram.exe") elif "википедия" in message: say_message("Уже ищу") mes = message.split("википедия ") mes.pop(0) mes = "".join(mes) zagolovok = wikipedia.search(mes, results = 3) say_message("По вашему запросу я нашел такие заголовки: " + " ".join(zagolovok)) say_message("Назовите номер заголовка, который вы выбрали") result = listen_command() number = wikipedia.summary(zagolovok[int(result)-1]) else: say_message("Комманда не распознана!") def say_message(message): engine.say(message) engine.runAndWait() print(message) engine = pyttsx3.init() engine.setProperty("rate", 150) engine.setProperty("volume", 1) while True: command = listen_command() do_this_message(command)
ошибка в строке number = wikipedia.summary(zagolovok) (функция do_this message)
я говорю: найди в википедии и дальше то что хочу найти, например пушкин. он мне говорит, по вашему запросу я нашел такие заголовки …… я выбираю номер заголовка допустим 1, для меня это заголовок номер 1, а для программы индекс 0, поэтому я вычитаю 1, но выдает ошибку.
Traceback (most recent call last):
File “C:\Users\utyara3\Desktop\slave.py”, line 80, in <module>
do_this_message(command)
File “C:\Users\utyara3\Desktop\slave.py”, line 59, in do_this_message
number = wikipedia.summary(zagolovok)
ValueError: invalid literal for int() with base 10: ‘Ошибка’
заранее спасибо