diff --git a/state_machine.py b/state_machine.py index 25ac671..7ef5bbe 100644 --- a/state_machine.py +++ b/state_machine.py @@ -8,12 +8,16 @@ import random machine = None # Конечный автомат current_state = None # Текущее состояние weather_api_key = None # Ключ для OpenWeatherMap +myName = None # Имя ассистента def init(assistant_name): """Инициализирует конечный автомат""" global machine global current_state global weather_api_key + global myName + + myName = assistant_name with open("weatherApiKey.txt", "r") as key: weather_api_key = key.read() @@ -33,17 +37,21 @@ def init(assistant_name): "добрый вечер": switchToHello, "доброй ночи": switchToHello, "пока": switchToBye, - "до встречи": switchToBye - } + "до встречи": switchToBye, + "перезапуск": switchToReboot, + "завершение работы": turnOff + }, } + switchToHello() + speaker.speak(f"Ассистент {myName} начинает работу") + def work(): """Обрабатывает конечный автомат""" global machine global current_state - speaker.speak(f"Доброго времени суток! Ассистент начинает работу") while(True): word = input().lower() # Пока считаем с клавиатуры предложение # Если ассистент знает такое слово для перехода @@ -132,4 +140,14 @@ def switchToBye(): helloWords = ["Пока", "Удачи", "Я всегда тут, буду ждать"] speaker.speak(random.choice(helloWords)) - return "Начало" \ No newline at end of file + return "Начало" + +# Переход на запрос модуля для перезагрузки и на "Начало": +def switchToReboot(): + init(myName) + + return "Начало" + +# Завершение работы +def turnOff(): + raise SystemExit \ No newline at end of file