@sdrom

Как принудительно вырубить бота?

Требуется вырубить принудительно эту программу, но бот не выключается командами типа exit.
def world():
    import os
    import time
    import speech_recognition as sr
    from fuzzywuzzy import fuzz
    import pyttsx3
    import datetime
    import webbrowser
 
 
 
 
    # Настройки
    opts = {
        "alias": ("Искра", "искра", "искорка", ""),
        "tbr": ('скажи','расскажи','покажи','сколько','произнеси','Пожайлуста',),
        "cmds": {
            "ctime": ('текущее время','сейчас времени','который час'),
            "humor": ('расскажи анекдот','рассмеши меня','ты знаешь анекдот', "анекдот"),
            "howareyou": ('как дела','как дилишки', 'как ваше ничего?'),
            "like": ('Какой ты умный','ты молодец','ты что капец умный'),
            "by": ('пока','досвидания','прощай'),
            "hi": ('привет','здравствуйте','приветики','приветули')
        }
    }
    onoff = "5"
    # Функции):
 
    def speak(what):
        print( what )
        speak_engine.say( what )
        speak_engine.runAndWait()
        speak_engine.stop()

    def callback(recognizer, audio): 
        try:
            voice = recognizer.recognize_google(audio, language = "ru-RU").lower()
            print("[log] Распознано: " + voice)
 
            if voice.startswith(opts["alias"]):
                # Обращаются 
                cmd = voice
    
                for x in opts['alias']:
                    cmd = cmd.replace(x, "").strip()
 
                for x in opts['tbr']:
                    cmd = cmd.replace(x, "").strip()
    
 
                # Распознаём и выполняем команду
                cmd = recognize_cmd(cmd)
                execute_cmd(cmd['cmd'])
    
        except sr.UnknownValueError:
            print("[log] Голос не распознан!")
        except sr.RequestError as e:
            print("[log] Неизвестная ошибка, проверь интернет!")
 
    def recognize_cmd(cmd):
        RC = {'cmd': '', 'percent': 0}
        for c,v in opts['cmds'].items():
 
            for x in v:
                vrt = fuzz.ratio(cmd, x)
                if vrt > RC['percent']:
                    RC['cmd'] = c
                    RC['percent'] = vrt
 
        return RC
 
    def execute_cmd(cmd):
        if cmd == 'ctime':
            # сказать текущее время
            now = datetime.datetime.now()
            speak("Сейчас " + str(now.hour) + ":" + str(now.minute))
    
        elif cmd == 'radio':
            # радио
             speak("Без-проблем")

   

        elif cmd == 'humor':
            # рассказать анекдот
            speak("Приходят 2 компьютера в бар... А дальше не помню... Мне это Сири разказала. После этого я сней не общался")
        #шутки
        elif cmd == 'howareyou':
            # как дела
            onoff=1+speak("Хорошо, но не много одиноко... А стойте я придумал себе занятие! Привет Алиса! Как дела?")

        elif cmd == 'like':
            # наглость 80lv
            webbrowser.open('https://lh3.googleusercontent.com/proxy/OG7JVesXVTm5AAF-Vn7Ky5peLx1yRpJTt18L-sYVsADoQp8aDvCcoX10QLc6jZv40UFQQ8OCrdYZQAnfuWlhyJJwRIw')+speak("Да я знаю, но спасибо что напомнили.")
 
        elif cmd == 'by':
            # пока
              speak("Досвидания было приятно свами иметь дело!")
 
        elif cmd == 'hi':
            #привет
             speak("Добрый день!")
         
        else:
          print('--')

    

    # Запуск
    r = sr.Recognizer()
    m = sr.Microphone(device_index = 1)
 
    with m as source:
        r.adjust_for_ambient_noise(source)

    speak_engine = pyttsx3.init()

    # Только если установлены голоса для синтеза речи!
    voices = speak_engine.getProperty('voices')
    speak_engine.setProperty('voice', voices[6].id)

    os.system('cls' if os.name == 'nt' else 'clear')
    print("(c) ------.")
    print("Назовите моё имя и задайте свой вопрос")
    speak("Привет! Меня зовут Искра. Я осуществляю навигацию по школе. Чем могу помочь? ")

    stop_listening = r.listen_in_background(m, callback)
    while True: time.sleep(0.1)

    if onoff == "выкл":
        exit
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
limontasher
@limontasher
Начинающий программист
if onoff == "выкл":
exit

exit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы