Короче объясню по другому
Я пишу голосового помощника
И мне надо что когда я говорю 123123123 запусти discord
он его запускал а у меня получается ужасный спам
import os
import time
import speech_recognition as sr
from fuzzywuzzy import fuzz
import pyttsx3
import datetime
import pyautogui
import subprocess
from os import startfile
from psutil import process_iter
from time import sleep
import string
import re
def talk(words):
engine = pyttsx3.init()
engine.say(words)
engine.runAndWait()
talk("Слушаем")
def command():
r = sr.Recognizer()
with sr.Microphone(device_index = 1) as source:
audion = r.listen(source)
try:
task = r.recognize_google(audion, language = "ru-RU").lower()
print(f"[log] Условия: {task}")
except:
task = command()
return task
def working(task):
cmd_run = ["запусти ","запустить ","открой "]
conductor = "проводник"
loyd = "лойд","лойда","лайдон","лайда"
spotify = "spotify","спотифай"
cmd = 'cmd','цмд'
discord = 'discord','дискорд'
opera = "opera","оперу","опера"
all_applications = ["проводник","лойд","лойда","лайдон","лайда","spotify","спотифай","cmd","цмд","discord","дискорд","opera","оперу","опера"]
print(all_applications)
for word in cmd_run:
for x in all_applications:
cmd_run=(f'{word}{x}'+' ')
print(cmd_run)
try:
cmd_run = task.replace('запусти ', "")
if task == cmd_run:
cmd_run = task.replace('запустить ', "")
if task == cmd_run:
cmd_run = task.replace('открой ', "")
if not task == cmd_run:
if cmd_run in spotify:
talk("Запускаю")
os.startfile(r'C:\Users\Даня\AppData\Roaming\Spotify\Spotify.exe')
if cmd_run in cmd:
talk("Запускаю")
os.startfile(r'C:\WINDOWS\system32\cmd.exe')
if cmd_run in discord:
talk("Запускаю")
os.startfile(r'C:\ProgramData\Даня\Discord\Update.exe')
if cmd_run in opera:
talk("Запускаю")
os.startfile(r'C:\Users\Даня\AppData\Local\Programs\Opera GX\launcher.exe')
if cmd_run in loyd:
talk("Запускаю")
os.startfile(r'C:\Python\Loyd\Loyd.bat')
if cmd_run in conductor:
talk("Запускаю")
pyautogui.keyDown('winleft')
pyautogui.press('e')
pyautogui.keyUp('winleft')
except:
task = command()
print(cmd_run)
while True:
working(command())
Результат:
C:\Users\Даня\AppData\Local\Programs\Python\Python37\lib\site-packages\fuzzywuzzy\fuzz.py:11: UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning
warnings.warn('Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning')
[log] Условия: запусти spotify
['проводник', 'лойд', 'лойда', 'лайдон', 'лайда', 'spotify', 'спотифай', 'cmd', 'цмд', 'discord', 'дискорд', 'opera', 'оперу', 'опера']
запусти проводник
запусти лойд
запусти лойда
запусти лайдон
запусти лайда
запусти spotify
запусти спотифай
запусти cmd
запусти цмд
запусти discord
запусти дискорд
запусти opera
запусти оперу
запусти опера
запустить проводник
запустить лойд
запустить лойда
запустить лайдон
запустить лайда
запустить spotify
запустить спотифай
запустить cmd
запустить цмд
запустить discord
запустить дискорд
запустить opera
запустить оперу
запустить опера
открой проводник
открой лойд
открой лойда
открой лайдон
открой лайда
открой spotify
открой спотифай
открой cmd
открой цмд
открой discord
открой дискорд
открой opera
открой оперу
открой опера
spotify
Как исправить спам ?