1 и 2 ) Если вы используете шаблоны (будете использовать), то весь код из метода commandReceived рекомендуется удалить!TrDA писал(а):to Vovix:
"вероятно у вас есть шаблон "сколько время"? покажите его код!
(и так, вдруг) нет ли у вас отдельно шаблона "сказать" (или "сказ" или что-то подобное)?"
1. В шаблонах есть только - стандартные шаблоны:
(start|play) music
report system state
2. Поиском по "сколько врем" нашёл только одно вхождение - M: ThisComputer.commandReceived:
UPD:Код: Выделить всё
$command=$params['command']; $short_command=''; $dt=recognizeTime($command,$short_command); if (preg_match('/скажи сколько врем/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята',2); return; } global $voicemode; $voicemode='on'; say('Сейчас '.timeNow(),2); } elseif (preg_match('/сколько время/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята'); echo $short_command; return; } say('Сейчас '.timeNow()); } elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$command,$m)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята',2); return; } global $voicemode; $voicemode='on'; say($m[1],2); } else { say('Неизвестная команда...',2); }
1. оказывается "эта ошибка" - вообще на любой вводимый текст, вчера не догадался проверить (((
2. далее "ошибка" затирается и вместо неё пишется текст "22:18 Алиса: Неизвестная команда..."
3. вспомнил - на январских, после обновлений - циклы падали несколько раз.
4. если голосом команды давать то:
- телевизор и свет = включает.
- время = не говорит, вместо этого в чат пишет:
22:23 Алиса: сколько сейчас время
22:23 Admin: скажи сколько сейчас время
Алиса - вообще разговаривать не хочет, а ещё в месяц назад разговаривала !?!?
3) падения циклов это конечно плохо, но к данной ситуации имеет ли отношения сейчас?
4) Вероятно у вас "простые устройства" есть и "телевизор и свет" работает через них (раз у вас нет таких шаблонов)
И если мне не изменяет память, то "время" отрабатывает через облако CONNECT (также как "что такое" или "кто такой")
По тому, что вообще не говорит - почитайте по форуму, проверьте голосовой движок, проверьте минимальный уровень проговаривания!