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

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

Модератор: immortal

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

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

Сообщение ErmolenkoM »

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

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

Сообщение mazahaka7sk »

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

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

Сообщение Pooh »

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

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

Сообщение Dark_Veter »

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

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

Сообщение 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));
}
servant0204
Сообщения: 3
Зарегистрирован: Вт июн 28, 2016 4:59 pm

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

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

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

Сообщение Pooh »

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

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

Сообщение 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)); 
Сохраняете изменения.
Проверяете работоспособность.
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара

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

Сообщение Pooh »

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

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

Сообщение sergejey »

Исправлено, теперь будет корректно работать без дополнительного кода.

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