Update assistant features and docs
This commit is contained in:
@@ -10,11 +10,13 @@ from datetime import datetime
|
||||
from ..core.config import BASE_DIR
|
||||
from ..audio.stt import listen
|
||||
from ..core.commands import is_stop_command
|
||||
from ..core.roman import replace_roman_numerals
|
||||
|
||||
# Файл базы данных будильников
|
||||
ALARM_FILE = BASE_DIR / "data" / "alarms.json"
|
||||
# Звуковой файл сигнала
|
||||
ALARM_SOUND = BASE_DIR / "assets" / "sounds" / "Apex-1.mp3"
|
||||
ASK_ALARM_TIME_PROMPT = "На какое время мне поставить будильник?"
|
||||
|
||||
|
||||
class AlarmClock:
|
||||
@@ -229,7 +231,7 @@ class AlarmClock:
|
||||
try:
|
||||
# Цикл ожидания стоп-команды
|
||||
while True:
|
||||
text = listen(timeout_seconds=3.0, detection_timeout=3.0)
|
||||
text = listen(timeout_seconds=3.0, detection_timeout=3.0, fast_stop=True)
|
||||
if text:
|
||||
if is_stop_command(text, mode="lenient"):
|
||||
print(f"🛑 Будильник остановлен по команде: '{text}'")
|
||||
@@ -251,7 +253,7 @@ class AlarmClock:
|
||||
Парсинг команды установки будильника из текста.
|
||||
Примеры: "разбуди в 7:30", "будильник на 8 утра".
|
||||
"""
|
||||
text = text.lower()
|
||||
text = replace_roman_numerals(text.lower())
|
||||
if "будильник" not in text and "разбуди" not in text:
|
||||
return None
|
||||
|
||||
@@ -299,6 +301,12 @@ class AlarmClock:
|
||||
suffix = f" {days_phrase}" if days_phrase else ""
|
||||
return f"Хорошо, разбужу вас в {h}:{m:02d}{suffix}."
|
||||
|
||||
if re.search(r"(постав|установ|запусти|включи|разбуди)", text) or text.strip() in {
|
||||
"будильник",
|
||||
"поставь будильник",
|
||||
}:
|
||||
return ASK_ALARM_TIME_PROMPT
|
||||
|
||||
return "Я не понял время для будильника. Пожалуйста, скажите точное время, например 'семь тридцать'."
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user