Lo que no se pueda hacer con twitter no se puede hacer con ninguna otra aplicación y es que es una idea tan simple que cualquier idea se puede adaptar a él.
Lo último es usarlo como log de errores de aplicaciones, y en un principio pensé:
No creo que ayude a nadie que entre «Me voy a comer!!» y «Acabo de llegar a casa, que cansado estoy» veamos un «Error en aNieto2k – El login introducido es incorrecto».
Pero profundizando más en la idea, puede ser interesante, tener un usuario recopilatorio en el que meter todos los errores detectados en todas tus aplicaciones. O incluso enviarte mensajes directos usando la api de Twitter.
function tweet_error ($error, $description) {
$username = 'yourusername';
$password = 'yourpassword';
$status = "#$error - $description";
$update_url = 'http://www.twitter.com/statuses/update.xml'; // http://identi.ca/api/statuses/update.xml will use identi.ca instead.
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "$update_url");
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=$status");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($curl);
$resultArray = curl_getinfo($curl);
curl_close($curl);
return ($resultArray['http_code'] == 200);
}
// Modo de empleo
tweet_error("404", $_SERVER[SCRIPT_URL]);
Si queremos enviar un mensaje directo tendremos que modificar un poco la función.
function tweet_error($error, $description, $user) {
$username = 'yourusername';
$password = 'yourpassword';
$status = "#$error - $description";
$update_url = 'http://twitter.com/direct_messages/new.xml';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "$update_url");
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'user='.urlencode($user)."text=$status");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($curl);
$resultArray = curl_getinfo($curl);
curl_close($curl);
return ($resultArray['http_code'] == 200);
}
// Modo de empleo
tweet_error("404", $_SERVER[SCRIPT_URL], "anieto2k");
Si a esto le añadimos el uso de set_error_handler()
de php podemos conseguir que nos avise automáticamente de los errores que se está produciendo en nuestras aplicaciones.
function tweet_error ($num_err, $cadena_err, $archivo_err, $linea_err) {
$username = 'yourusername';
$password = 'yourpassword';
$status = "#$num_err - $cadena_err ($archivo_err:$linea_err)";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.twitter.com/statuses/update.xml');
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=$status");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($curl);
$resultArray = curl_getinfo($curl);
curl_close($curl);
return ($resultArray['http_code'] == 200);
}
set_error_handler("tweet_error");
// Parámetros enviados por el callback de set_error_handler ($num_err, $cadena_err, $archivo_err, $linea_err)
10 comentarios, 0 referencias
+
#