Example #1
0
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();
}
Example #2
0
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();
            }
        }
    }
}