function vocalinfo_give_me_all($text, $confidence, $parameters) { $cli = new Client(); $cli->connect(); $cli->talk("Je peux parler, evidemment, et t\\'écouter plus précisément qu\\'avant"); $cli->talk("Je peux eprouver et montrer des sentiments"); $cli->talk("Comme la colère"); $cli->emotion("angry"); $cli->talk("Ou la timidité"); $cli->emotion("shy"); $cli->talk("Et tout un tas d\\'autres lubies humaines"); $cli->talk("Je peux aussi exécuter un programme"); $cli->execute("D:\\Programme_installes\\Qt\\Tools\\QtCreator\\bin\\qtcreator.exe"); $cli->talk("ou un son"); $cli->sound("C:/poule.wav"); $cli->talk("ou te montrer des images"); $cli->image("yana.jpg"); $cli->talk("ou executer une commande domotique"); //system('gpio write 1 1'); //$cli->talk("ou executer un humain"); //$cli->talk("non je déconne."); $cli->disconnect(); }
function common_listen($command, $text, $confidence, $user) { echo "\n" . 'diction de la commande : ' . $command; $response = array(); Plugin::callHook("vocal_command", array(&$response, YANA_URL . '/action.php')); $commands = array(); echo "\n" . 'Test de comparaison avec ' . count($response['commands']) . ' commandes'; foreach ($response['commands'] as $cmd) { if ($command != $cmd['command']) { continue; } if (!isset($cmd['parameters'])) { $cmd['parameters'] = array(); } if (isset($cmd['callback'])) { //Catch des commandes pour les plugins en format client v2 echo "\n" . 'Commande trouvée, execution de la fonction plugin ' . $cmd['callback']; call_user_func($cmd['callback'], $text, $confidence, $cmd['parameters'], $user); } else { //Catch des commandes pour les plugins en format client v1 echo "\n" . 'Commande ancien format trouvée, execution de l\'url ' . $cmd['url'] . '&token=' . $user->getToken(); $result = file_get_contents($cmd['url'] . '&token=' . $user->getToken()); $result = json_decode($result, true); if (is_array($result)) { $client = new Client(); $client->connect(); foreach ($result['responses'] as $resp) { switch ($resp['type']) { case 'talk': $client->talk($resp['sentence']); break; case 'sound': $client->sound($resp['file']); break; case 'command': $client->execute($resp['program']); break; } } $client->disconnect(); } } } }