Overblog
Suivre ce blog Administration + Créer mon blog
Le blog du CRRIAM
Articles récents

enregistrer la date

21 Octobre 2016 , Rédigé par crriam Publié dans #enregistrer la date

Puisque on ne peut pas enregistrer directement les variable javascript dans rivescript, on va utiliser l'instruction reply.

On tape memo date, le code js donne la date, on l'enregistrera a la prochaine entrée utilisateur en utilisant relpy.

Il faudra donc bien faire attention a ne pas utiliser d'autre instruction que celle qu'on veut retenir en même temps.

Pour automatiser tout ça, j'avais mis en place une séquence de demarrage en modifiant le fichier chat.html.

au lancement du robot, un code html lancer l'instruction demarrage1 qui faisait inscrire la date puis demarrage2 qui la validé.

même si ça reste intéressant de pouvoir lancer une procédure au demarrage, on pourra valider de façon plus simple en utilisant l autovalidation découverte ce matin

 

//-----------------------enregistrement date ---------------------------------

> object date javascript
var date = new Date();
var jour=date.getDate();
var joursem=date.getDay()
var mois=date.getMonth()+1;
var an=date.getFullYear();
var heure=date.getHours();
var minutes=date.getMinutes();
var seconds=date.getSeconds();
var complet=heure + " " + minutes + " " + joursem + " " + jour + " " + mois + " " + an;
return complet;
< object

 


+ memo date
- <call>date <id></call> {topic=date} // j appele la fonction date et met le topic date de facon a pouvoir retenir la date avec relpy a la prochaine entree de user


> topic date
+ *
- <set date=<reply>ok> {@memodate <get date>} {@<star>}
// le {@<star>} permet de renvoyer sur l entree user correspondante a l etoile
// on met un ok finale sinon ca mets des caracteres invisible qui empeche le test des variables venant de js suffira d y penser en faisant le test de la derniere variable
// ca donne une variable de la forme 18 12 3 19 10 2016 ok remarque l espace entre 2016 et ok, on divise la variable pour etre exploitable plus facilement

+ memodate * * * * * *
- <set heure=<star1>> <set minutes=<star2>> <set joursemaine=<star3>> <set jour=<star4>> <set mois=<star5>> <set an=<star6>>  {topic=random}
// on sort du topic de facon a pouvoir continuer une conversation normal
< topic

+ date
- <get heure> heure <get minutes> minutes le {@quel joursemaine} <get jour> <get mois> <get an>

+ quel joursemaine
* <get joursemaine> == 1 => lundi
* <get joursemaine> == 2 => mardi
* <get joursemaine> == 3 => mercredi
* <get joursemaine> == 4 => jeudi
* <get joursemaine> == 5 => vendredi
* <get joursemaine> == 6 => samedi
* <get joursemaine> == 0 => dimanche
- ca marche pas

+ quel jour
* <get jour> == 19 => aujourd hui
- ca marche pas
//ne pas oublier le espace ok pour le test

+ quel annee
* <get an> == 2016 ok=> cette annee
- ca marche pas

 

 

//--------------------------- fin enregistrement date ------------------

Lire la suite

EnOOOORRRRMmmme Découverte, l autovalidation

21 Octobre 2016 , Rédigé par crriam Publié dans #auto validation

Je viens de faire une énorme découverte, qui va révolutionner le codage rivescripte :

l'auto validation.

 

L'auto validation, c'est quoi ?

C'est le fait de faire écrire par le robot un texte dans sa propre zone de texte du chat, et de l'auto valider, c'est a dire appuyer sur entrer a votre place ! Vous allez me dire septique, : Quoi de difficile la dedans ?

Rien justement ! C'est si simple que je suis un abruti de pas y être arrivé avant pendant toute ces années.

ça sert a quoi ?

ça sert a éviter tous ces jonglages d'une frame sur l'autre ou pire d'un chat a un autre que je m'évertuais à faire depuis des années.

ça sert a valider ce que renvois un code javascript et donc a passer les variables js dans rivescript sans passer par des frames.

Du coup, ça va facilite énormément toutes mes dernières découvertes en matière de date, de cookie ou autre, car avec ça, mêlé a ma technique pour retenir la date, on va pouvoir valider tout ce que javascript nous envois !

 

Comment faire :

aussi simplement que ça :

//------------ debut code auto validation ------

> object autovalid javascript
var id = args[0];
var vari = rs.getUservar(id, "vari");
// alert(vari); uniquement pour debug

document.form1.message.value=vari;
document.form1.onsubmit();
    var dim = "";
    return dim;
< object


+ autovalid *
- <set vari=<star>> <call>autovalid <id></call>

+ transparent

- \s

+ test
- ca marche en auto validation <set test1=test ok>

+ test2
- ok pour test2 auto valide et <get test1>

+ test1
- {@autovalid test} {@autovalid test2}


// ------------------ fin code auto validation ---------------------

Explication :

je tape test1, le robot va lancer, test, puis test2.

Quel difference avec un @ la difference est que si j'avais fait

+ test1

- {@test} {@test2}

le resulat de test serait sorti sur la même ligne que le resultat de test2

Là, c'est comme si j'ecrivais moi même test que le robot me réponde et que j'ecrive ensuite test2 et que le robot me réponde de nouveau.

Quel interet ?

la fonction reply !!!! celle qu'on avait tant de mal a pouvoir utiliser en automatique car il fallait justement que le robot autovalid

exemple avec la date, on était obliger de la lancer au démarrage du tchat puis de la faire valider par une autre instruction comme demarrage2, qui validait le reply, là, plus besoin de code html et de frame pour le faire.  il suffira lorsqu'on voudra faire enregistrer la date, d'ecrire

+ date2

- {@autovalid memo date}{@autovalid transparent}

autovalid transparent servant a valider le reply sans faire ecire quoi que ce soit.

avec ça, associer a des variable enregistreé ou a des cookies, le robot pourra donc savoir a tout moment à quel heure l utilisateur s'est connecté, a quel heure il est parti, s'il revient dans la journée combien de temps ils sont rester a parler ensemble.

 

 

 

Lire la suite
<< < 1 2 3 4 5 6 7 8 9 10 20 30 > >>