Qu'est ce que pandorabots ?
http://www.pandorabots.com est un service d' hebergement d' un robot logiciel ( aussi connu en tant que bot ).
Depuis n'importe quel navigateur, vous pouvez creer et publier vos propres robots par le web.
Les robots sont bases sur AIML et sont entierement derives du travail du Dr Richard Wallace et de la communaute libre A.L.I.C.E basee à http://www.alicebot.org.
En gros, vous pouvez creer votre "robot" sur le site et ensuite lui apprendre à parler et le faire parler.
Les bots repondent en texte à du texte tape au clavier mais il existe des programmes permettant de les relier à un generateur de "text to speech" qui permet de les entendre.
Normalement, une version parlee est prevu dans quelques temps pour l'iphone.
Comment creer et utiliser un bot ?
Il suffit d'aller sur le site pandorabots.com et de s'inscrire en allant dans "account signup".
Ensuite vous avez acces à la page "mes pandorabots"
Vous allez dans "creer" puis vous donner un nom à votre bot et vous choisissez une librairie AIML à utiliser ( le mieux est de laisser celle par defaut pour le moment ( votre bot parlera anglais par contre ))
( on peut trouver des "dictionnaires aiml" gratuits à cette adresse )
Ensuite on vous demande de "publier" le bot et il faut donc le faire.
Une fois le bot cree, vous le voyez dans la liste des bots ( vous pouvez en creer plusieurs )
Chaque bot possede un numero permettant de l'identifier : le botid
On peut voir le botid de son bot en cliquant sur le nom du bot ( on voir le botid dans l'url )
Par exemple, pour le bot ssm2017 que j'ai cree, je vois que l'url est : http://www.pandorabots.com/botmaster/fr/summary?botid=c515e91c1e36b68b
donc le botid de ssm2017 est c515e91c1e36b68b
Gardez ce numero de cote, il servira plus tard.
Comment utiliser le bot ?
On peut deja utiliser le bot par l'interface html fournie par le serveur.
Pour cela, il suffit d'aller dans la liste des bots et de cliquer sur le nom du bot voulu.
On peut ensuite voir "Ce Pandorabot est publié à cette adresse:"
Le premier lien propose une page simple avec juste un champ dans lequel on ecrit un texte, on appuie sur le bouton "say" et il repond.
Le deuxieme lien propose une demo de la version "parlee" qui est payante si on veut pas la pub et le mettre sur son site.
Comment y acceder par formulaire html ?
On peut acceder au bot en envoyant un formulaire à l'adresse : http://www.pandorabots.com/pandora/talk-xml
La reponse sera un document xml.
On peut utiliser GET ou POST
Les champs necessaires sont :
- botid ( contenant l'id du bot )
- input ( contenant la phrase à envoyer au bot )
- custid (optionnel)( contenant l'id de la personne qui parle au bot pour que le bot se souvienne de vous ( le custid est donne à la premiere reponse et il est bien de le reutiliser ) )
Il faut que le champ "input" soit filtre en "urlencode" pour ne pas avoir de probleme avec les accents.
Exemple de lien : http://www.pandorabots.com/pandora/talk-xml?botid=c515e91c1e36b68b&custid=&input=salut
Exemple de formulaire html
<form action="http://www.pandorabots.com/pandora/talk-xml">
<input type="hidden" name="botid" value="c515e91c1e36b68b"/>
<input type="hidden" name="custid" value=""/>
<input name="input" type="text" value="salut"/>
<input name="submit" type="submit"/>
</form>
Comment y acceder par php ?
On peut utiliser CURL + simplexml
exemple de code :
<?php
// definition des variables
$uri = "http://www.pandorabots.com/pandora/talk-xml";
$botid = 'c515e91c1e36b68b'; // ce bot s'appelle ssm2017 et il me sert de test ( ne vous attendez pas à ce qu'il vous parle de shakespeare )
$input = 'salut';
$custid = '';
// construction de la chaine à poster
$post = "botid=$botid&input=$input&custid=$custid";
// ouverture d'un "buffer" ( mettre les donnees en cache )
ob_start();
// definition des options de curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri); // uri où aller
curl_setopt($ch, CURLOPT_TIMEOUT, 9); // arret au bout de 9 secondes si aucune reponse
curl_setopt($ch, CURLOPT_POST, TRUE); // oui monsieur, on envoie des donnees en POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // les donnees à envoyer
curl_setopt($ch, CURLOPT_POSTFIELDSIZE, strlen($post)); // la quantite de donnees à envoyer ( optionnel )
// execution de curl
curl_exec($ch);
// recuperation du contenu du cache
$string = ob_get_contents();
// affichage du message d'erreur si il y en a un
if (curl_errno($ch)) {
echo "Error: " . curl_error($ch);
return; // on se casse, on a plus rien à faire ici, ca deconne :)
}
// arret de curl
curl_close($ch);
// vidage du cache
ob_end_clean();
// convertion du resultat en objet xml
$xml = simplexml_load_string($string);
// utilisation d'une requete "xpath" pour "pointer" l'element "that"
$result = $xml->xpath('/result/that');
// balayage des reponses
while(list( , $node) = each($result)) {
// affichage du/des resultat(s)
echo 'that = ',$node,"\n";
}
Comment y acceder en LSL ?
Il existe un script qui peut faire ca pour vous à cette adresse
Existent ils des bots sl pour pandorabots ?
Oui il en existe un mais je trouve qu'il manque d'options comme par exemple il ne gere pas le custid et il n'est pas discret dans ses reponses.
Il s'appelle avapet et peut etre telecharge à cette adresse.
J'ai fait un bot qui gere le custid et qui est discret ( on ne croirait pas que c'est un bot ) mais je n'ai pas encore publie le code, et peut etre que je le ferai un jours, je ne sais pas. Disponible ici : http://ssm2017.free.fr/index.php/Technique/Scripts/ssmbot.html
|