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.