Las reacciones ante un unfollow en Twitter suelen ser diversas, desde la acción recíproca inmediata (cosa que no logro entender ¿has dejado de ver el telediario porque el presentador no se dirija a ti en persona? pues eso…) hasta la más absoluta indeferencia. A mi más bien me mueve la curiosidad, saber si ha sido la posible reacción ante un tuit concreto, el perfil de la persona que deja de seguirme, etc…

Aquí os traigo un pequeño script que he hecho para enterarme de esto. Sé que hay por ahi muchos servicios que hacen lo mismo, los he probado y todos me han parecido una chusta, publicidad, desfase en la notificación y en general nada que cumpla bien algo tan simple como esto. Por eso he acabado tirando unas líneas de código para tenerlo en mi propio servidor y hacer exáctamente lo que espero, que es muy sencillo: recibir un email cada vez que alguien deje de seguirme en Twitter. A continuación explico algunos detalles de esta mini aplicación que podéis descargar desde github.

Esos que te hacen unfollow en Twitter...

Lo primero aclarar que obviamente no es una aplicación de uso general, por las siguientes peculiaridades:

  • Aunque fácilmente modificable, hace únicamente lo que yo necesito, explicado al principio
  • Está limitada a 5000 followers (por defecto el límite de la API de Twitter si no se utiliza paginación), cuando sobrepase esa cifra ya lo modificaré ;)
  • Utiliza un fichero para almacenar los followers y arrays para comparar, lo cual con un número elevado de ellos no sé cómo rendirá

Al turronaco. El único requerimiento es la extensión curl de PHP, que se utiliza para llamar a las APIs de Twitter. La gestión de errores es como un martillo, si no hay curl o alguna API devuelve un error el script termina, no necesito nada más sofisticado.

La única personalización necesaria está en el fichero twitter_unfollowers.php, para los campos del email que recibiremos:

// fichero donde se guardan los followers para posteriormente compararlos con los actuales
define('FIC_GUARDADO', 'twitter_followers_{USUARIO}.db');
// poner a 0 si no quieres recibir un email con la lista de unfollowers
define('ENVIAR_EMAIL', '1');
define('EMAIL_DIRECCION', 'xxxx@yyyy.com');
define('EMAIL_ASUNTO', '[TWITTER] Te ha(n) desfollogüeado {NUM} usuario(s)');
// dirección válida en el servidor donde se ejecuta el script para que el email no se vaya al spam
define('EMAIL_REMITENTE', 'iiii@jjjj.com');

Podemos utilizar esta clase en un simple script que se pondría en el cron, como por ejemplo:



    require('twitter_unfollowers.php');

    $tuiter = new Twitter_unfollowers('');

    $tuiter->check_unfollow();

    echo 'fin';
 
?>

descargar en github
Twitter Unfollowers 1.2

Changelog

v1.2 – Arreglados problemas de codificación y control de errores de la API
v1.1 – Eliminada la necesidad de autenticarse con OAuth para utilizar las APIs
v1.0 – Desarrollo inicial