{Facebook} – Savoir qui n’est plus notre ami

 

Hello à tous,

 

Ce n'est pas le premier script ni ... le dernier que j'écris sur ce sujet car la plateforme Facebook évolue très souvent ... et sachant que mes scripts souvent s'appuient sur l'IHM et sur les requêtes de celle-ci ... le moindre changement peut-être fatal.
La première fois que j'avais réalisé un script pour récupérer la liste des personnes qui étaient (et qui ne sont plus ) nos amis Facebook  ... j'en avaient même fait une extension  Chrome !
Malheureusement celle-ci a été bannis du store ...

C'est donc avec beaucoup de motivation que je me suis attelé à vous écrire un nouveau script !
Même si je dois l'avouer, c'est une demande d'un lecteur (DockCharlie)

 

Fonctionnement du script

Pour parvenir à ses fins, le script doit s’exécuter sur une page bien précise.
Facebook a fait évoluer son interface et ses requêtes, ce qui fait qu'aujourd'hui il n'est plus possible
(en dehors de leurs API), de récupérer en OneShot (un coup), la liste de l'ensemble des amis Facebook.
Cette page bien précise est utile car elle n'apporte pas de superflue (vidéo, photo, événement, etc ...)
Il n'y a que la liste des amis !
Sur cette page, il faudra exécuter mon script.
Celui-ci va collecter la liste de vos amis et l'enregistrer localement sur votre ordinateur.
Chaque fois que vous exécuterez le script, celui-ci comparera la liste de vos amis, à celle qui est sauvegardée !
Ainsi, si l'un de vos amis manque à l'appel ! Vous le saurez immédiatement.

 

Trouver la page sur laquelle exécuter le script

Il n'y a pas de lien précis qui vous amènera sur cette page, car c'est la page qui permet de comparer les amis en commun que vous avez avec un ami.
J'ai légèrement détourné le fonctionnement pour que vous puissiez comparer les amis que vous avez en commun ... avec vous-même ;)
En gros vous aurez tous vos amis sur cette page sans le superflue.
Pour aller sur cette page, il suffit de vous rendre sur n'importe quelle page de Facebook (en étant connecté sur votre compte)
Ensuite, vous aurez à copier-coller et exécuter ce bout de code  dans la console développeur (touche F12 du clavier, onglet "console"):

document.location = "https://www.facebook.com/browse/mutual_friends/?uid="+/c_user=([0-9]*)/.exec(document.cookie)[1];

Ce code va simplement récupérer votre "id" de Facebook pour vous rediriger sur une URL spéciale.

Le script

Lorsque vous serez sur la page des "amis en commun", vous devrez exécuter ce script  :

/*
*
*	Detect Bad Friends Facebook
*	(c) Dyrk 2019 - 2020
*		   Dave Hill
*/

var nbFriends = 0, getFriends = function(){
	var items = [], 
		reg1 = new RegExp('href=\"https:\/\/www\.facebook.com\/([A-Za-z0-9\-\_\.]*)\\?fref\=pb&'+'amp;hc_location\=profile_browser',"g"),
		reg2 = new RegExp('/\\?fref\=pb\&'+'amp;hc_location\=profile_browser','g');
	document.getElementsByTagName('html')[0].innerHTML.match(reg1).map(e=>e.replace(/href="https:\/\/www\.facebook\.com\//,'').replace(reg2,'')).map(e=>items.indexOf(e) == -1 ? items.push(e) : 0);
   return items;
}, scrollDown = function(){
	document.getElementsByTagName('html')[0].scrollTop = document.getElementsByTagName('html')[0].offsetHeight;
}, scriptDyrk = null, loadDyrkScript = (function(){
   scriptDyrk = setInterval(function(){
		var friends = getFriends();
		if (nbFriends != friends.length){
			nbFriends = friends.length;
			return scrollDown();
		}
		clearInterval(scriptDyrk);
		friendStorage = localStorage.getItem('friends');
		friendStorage = (! friendStorage) ? [] :  JSON.parse(friendStorage);
		localStorage.setItem('friends', JSON.stringify(friends));
		badFriend = friendStorage.map(function(e){
			return (friends.indexOf(e) == -1) ? e : ""
		}).join(',').replace(/,,/g,',');
		alert("Bad Friends : " + badFriend);
		console.log(friendStorage.length, friends.length);
	}, 3000);	
})();

 

Laissez mouliner quelques secondes, et hop ! Vous devriez voir une alerte avec la liste des personnes (s'il y en a), qui ne sont plus dans vos amis.
Attention, il peut y avoir des raisons autres que de vous avoir retiré de la liste de leurs amis  :

  • Ce n'est pas lui, mais vous qui l'avez retiré de votre liste d'amis
  • Il a renommé son compte
  • Il a désactivé son compte

La vidéo

Comme promis, pour cette année, je vais essayer de vous fournir des démos vidéos pour un certain nombre d'article ;)
Bon visionnage à tous !

 

 

 

Conclusion

Encore une fois, il s'agit là d'un "hack", il n'est pas destiné à durer dans le temps.
Néanmoins vos messages d'encouragement et vos demandes par mail ne tombent pas (toujours) dans l'oreille d'un sourd ;)
J'espère que ce script vous sera utile, n'hésitez pas à l'améliorer et à partager en commentaire vos améliorations !
N’hésitez pas non plus à me laisser en commentaire vos idées les plus folles de sujets pour Dyrk.

Bon Weekend à vous !

 

Partagez ce contenu

One comment

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *