Страница 9 из 10

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Сб фев 20, 2016 9:14 am
ErmolenkoM
mazahaka7sk писал(а):voice_command у меня так и не работает сделал все как у вас в профиле но при воде голосовой команды либо в ручную пишит Неизвестная команда... и не как не реагирует , подскажите что я еще забыл сделать??? или что сделал не так??
У Вас в коннекте вижу старый ThisComputer.commandReceived, может не обновили данные? Или забыли поправить? Как должен этот метод выглядеть можно посмотреть у меня в Коннекте.

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Пн фев 22, 2016 2:07 am
mazahaka7sk
спасибо заработало, дело было в коде заменил на ваши начало работать!

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 3:50 pm
Pooh
А у меня перестал скрипт работать после очередного обновления... да и вообще МД перестал отвечать на "сколько время", говорит "Неизвестная команда.."
Что изменилось за полгода?

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 4:02 pm
Dark_Veter
Да вроде бы работает, проверьте метод ThisComputer.commandReceived, вызывается ли у вас там скрипт для работы с ботом?

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 4:22 pm
Pooh
Да, есть, но отрабатывает только "Неизвестная команда..."(сейчас закомментирована), бот никак не откликается:
SPOILERSPOILER_SHOW
$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);
runScript('iiiBot', array('message'=>$command));
}

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 5:14 pm
servant0204
У меня тоже iii бот не работал и ничего кроме "неизвестная команда" я добиться от метода commandReceived не мог.
Пришлось дописать в ThisComputer.commandReceived вот такой костыль

Код: Выделить всё

$command=$params['command'];
if(!$command){
$sqlQuery = "SELECT shouts.MESSAGE
               FROM shouts
              WHERE shouts.MEMBER_ID = 1
              ORDER BY shouts.ADDED DESC, ID DESC
              LIMIT 1";

$res = SQLSelectOne($sqlQuery);
$command=$res['MESSAGE'];
} 
После этого iiibot заговорил)

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 6:37 pm
Pooh
Поподробней можно? просто дописать в конец? а как скрипт вызывается?

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 7:02 pm
servant0204
Pooh писал(а):Поподробней можно? просто дописать в конец? а как скрипт вызывается?
Открываете метод ThisComputer.commandReceived
Находите строчку

Код: Выделить всё

$command=$params['command'];
после нее вставляете

Код: Выделить всё

if(!$command){
$sqlQuery = "SELECT shouts.MESSAGE
               FROM shouts
              WHERE shouts.MEMBER_ID = 1
              ORDER BY shouts.ADDED DESC, ID DESC
              LIMIT 1";

$res = SQLSelectOne($sqlQuery);
$command=$res['MESSAGE'];
}
т.е. мы дописали условие, что если в метод не передан параметр $params['command'], то мы берем напрямую из базы последнее, что писал/говорил пользователь и присвеваем переменной $command это значение.

скрипт вызывается также, как и у Вас

Код: Выделить всё

runScript('iiiBot', array('message'=>$command)); 
Сохраняете изменения.
Проверяете работоспособность.

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Вт июн 28, 2016 9:06 pm
Pooh
servant0204, подтверждаю, всё работает, спасибо!

Re: Архитектура голосового модуля и голосовой чат iii.ru

Добавлено: Пн июл 18, 2016 6:06 pm
sergejey
Исправлено, теперь будет корректно работать без дополнительного кода.