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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

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

Сообщение ErmolenkoM » Сб фев 20, 2016 9:14 am

mazahaka7sk писал(а):voice_command у меня так и не работает сделал все как у вас в профиле но при воде голосовой команды либо в ручную пишит Неизвестная команда... и не как не реагирует , подскажите что я еще забыл сделать??? или что сделал не так??
У Вас в коннекте вижу старый ThisComputer.commandReceived, может не обновили данные? Или забыли поправить? Как должен этот метод выглядеть можно посмотреть у меня в Коннекте.
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
mazahaka7sk
Сообщения: 54
Зарегистрирован: Сб фев 20, 2016 8:46 am
Откуда: Усть-Каменогорс
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

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

Сообщение mazahaka7sk » Пн фев 22, 2016 2:07 am

спасибо заработало, дело было в коде заменил на ваши начало работать!
CONNECT |Группа в VK| ЮТУБ КАНАЛ
Система стоит на Raspberry pi 3b v3.31
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

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

Сообщение Pooh » Вт июн 28, 2016 3:50 pm

А у меня перестал скрипт работать после очередного обновления... да и вообще МД перестал отвечать на "сколько время", говорит "Неизвестная команда.."
Что изменилось за полгода?
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

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

Сообщение Dark_Veter » Вт июн 28, 2016 4:02 pm

Да вроде бы работает, проверьте метод ThisComputer.commandReceived, вызывается ли у вас там скрипт для работы с ботом?
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

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

Сообщение Pooh » Вт июн 28, 2016 4:22 pm

Да, есть, но отрабатывает только "Неизвестная команда..."(сейчас закомментирована), бот никак не откликается:
СпойлерПоказать
$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));
}
servant0204
Сообщения: 3
Зарегистрирован: Вт июн 28, 2016 4:59 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение servant0204 » Вт июн 28, 2016 5:14 pm

У меня тоже 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 заговорил)
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

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

Сообщение Pooh » Вт июн 28, 2016 6:37 pm

Поподробней можно? просто дописать в конец? а как скрипт вызывается?
servant0204
Сообщения: 3
Зарегистрирован: Вт июн 28, 2016 4:59 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение servant0204 » Вт июн 28, 2016 7:02 pm

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)); 
Сохраняете изменения.
Проверяете работоспособность.
За это сообщение автора servant0204 поблагодарил:
Pooh (Вт июн 28, 2016 8:56 pm)
Рейтинг: 1.16%
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

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

Сообщение Pooh » Вт июн 28, 2016 9:06 pm

servant0204, подтверждаю, всё работает, спасибо!
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн июл 18, 2016 6:06 pm

Исправлено, теперь будет корректно работать без дополнительного кода.
За это сообщение автора sergejey поблагодарил:
Pooh (Вс июл 31, 2016 11:02 am)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить