MyAvatar - simonrubinstein/cocobot GitHub Wiki

Les avatars

Un utilisateur sur Coco.fr est authentifié par les valeurs « myavatar » et « mypass ». La valeur de « myavatar » est une valeur de neuf chiffres entre 100 000 000 et 990 000 000. La valeur de « mypass » est une chaîne de lettres majuscules de « A » à « Z » de vingt caractères.

Exemple :

  • myavatar : 100634212
  • mypass : WKBYEDPEQDFGSVRBTRXK

À la première connexion, une valeur de « myavatar » est choisie aléatoirement entre 100 000 000 et 990 000 000. Le serveur retourne la valeur « mypass » au bout d'une vingtaine de secondes. Les valeurs « myavatar » et « mypass » sont ensuite concaténées et stockées dans un cookie navigateur appelé « samedi » et réutilisées à la prochaine connexion, à moins que l'utilisateur utilise la navigation privée. Pour l'exemple donné, la valeur du cookie « samedi » sera « 100634212WKBYEDPEQDFGSVRBTRXK ».

À noter qu'à une valeur « myavatar » ne peut correspondre qu'une valeur « mypass ». Si à la première connexion la valeur « myavatar » choisie aléatoirement est déjà utilisée cela provoquera un bug.

Trois scripts sont disponbiles pour générer des couples « myavatar » et « mypass » :

  • scripts/create-myavatars.pl
  • scripts/validate-myavatars.pl
  • tools/create-myavatars-list.pl

create-myavatars.pl

Le script « create-myavatars.pl » crée des couples « myavatar » et « mypass » qui seront stockés dans le répertoire « var/myavatar/new ».

Exemple de création d'un couple « myavatar » et « mypass » :

cd cocobot/scripts/
./create-myavatars.pl

Le script va créer un bot en utilisant une valeur « myavatar » aléatoire et va attendre que le serveur retourne une valeur « mypass ». Une fois cette valeur récupérée un fichier sera créé dans le répertoire « var/myavatar/new »

Dans l'exemple précédent, le fichier a été créé à cet endroit :

ls -l var/myavatar/new/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK 
-rw-rw-r-- 1 simon simon 42 août  15 15:39 var/myavatar/new/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK

Le fichier contient une information par ligne :

  • la date de création du fichier ;
  • la date de mise à jour du fichier ;
  • un compteur du nombre d'utilisation.

Exemple :

cat var/myavatar/new/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK 
2016-08-15 15:39:56
2016-08-15 15:39:56
1

L'option « -x » permet de créer plusieurs couples « myavatar » et « mypass », exemple de création de dix « myavatar » :

./create-myavatars.pl -x 10

validate-myavatars.pl

Les utilisateurs créés par le script « create-myavatars.pl », utilisateurs représentés par des couples « myavatar » et « mypass », ne peuvent pas demander à un autre utilisateur en ami avant une vingtaine de minutes. Quand un profil est trop récent, le message « Vous devez avoir un profil plus ancien pour ajouter des amiz. Patientez ou demandez a votre correspondant de vous ajouter en amiz » est retourné à une demande d'ajout à la liste d'amis.

Le script « validate-myavatars.pl » va créé un bot en utilisant les couples « myavatar » et « mypass » du répertoire « var/myavatar/new », puis lancer des demandes d'amis à un utilisateur donné jusqu'à ce que l'action soit possible.

Une fois la demande d'ajout en liste d'amis possible, le fichier est déplacé du répertoire « var/myavatar/new » au répertoire « var/myavatar/run ».

Pour valider le profile précédent on peut lancer le script comme suit :

./validate-myavatars.pl -v -i  358074 -s M

Le script va créer des bots de sexe masculin successivement avec les valeurs « myavatar » et « mypass » trouvés dans le répertoire « var/myavatar/new ». Le bot va ensuite lancer une demande d'ajout en liste d'amis à l'utilisateur qui possède la valeur « mynickID » « 358074 » et lui écrire un message tant que le profil sera considéré trop récent. Une fois le profil validé, le fichier sera déplacé dans le répertoire « vat/myavatar/run »

Ensuite le script créera un nouveau bot avec la valeur « myavatar » et « mypass » suivante si elle existe, sinon le script s'arrêtera. Dans notre cas il n'existe qu'un seul profil à valider, donc un seul bot sera créé.

Pour reprendre notre exemple précédent, une fois validé le fichier a été déplacé à dans ce répertoire :

ls -l var/myavatar/run/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK 
-rw-rw-r-- 1 simon simon 42 août  15 17:05 var/myavatar/run/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK

Et le fichier a été mis à jour :

cat var/myavatar/run/100/634/212/100634212WKBYEDPEQDFGSVRBTRXK 
2016-08-15 15:39:56
2016-08-15 17:05:22
2

Cependant, bien que validé, il n y a aucune garantie qu'à la prochaine utilisation de ce profil on obtienne pas le même message « Vous devez avoir un profil plus ancien... ».

Le script possède plusieurs options, dont les options suivantes :

  • -R : Parfois un profil retourne le message « compte restreint », dans ce cas la validation est abandonnée. Cette option permet de continuer la validation des comptes restreints.
  • -N : Les profils à valider viennent du répertoire « var/myavatar/new » par défaut. L'option « -N » revalide les profils du répertoire « var/myavatar/run » qui ont déjà été validés.
  • -K : Ignore les messages « Vous devez avoir un profil plus ancien... ». Donc ne réalise pas l'opération de validation. Cette option est utilisée conjointement avec l'option « -N ».
  • -W : Envoi toujours un message avant la demande d'ajout en liste d'amis.
  • -m : Message à envoyer à l'utilisateur. Par défaut le nom du script « validate-myavatars.pl » est envoyé suivi d'un compteur.

create-myavatars-list.pl

Ce script créé un fichier « var/myavatar/list.txt » avec la liste de tous les les valeurs « myavatar » et « mypass » contenues dans les fichiers du répertoire « var/myavatar/run ». 

Ce fichier peut-être utilisé avec l'option « -M » de certains scripts.