avr 13
Poster sur Twitter avec PHP
Twitter est l’application de microbloging à la mode en ce moment, il n’y a qu’à voir comment des gurus du marketing tels Guy Kawazaki se la sont appropriée pour s’en convaincre !
La taille des « tweets » a beau être limitée à 140 caractères et le processus de publication réduit à son plus simple élément, ça reste tout de même très fatigant à gérer, d’autant que les beaux jours approchent et que nous passerons bientôt plus de temps à la plage que devant l’ordinateur (je suis désolé pour les gens du Nord…).
Alors que faire ?
Une fois de plus, la réponse tient en un mot : automatisation. Et en quelques lignes de PHP !
La solution que je vous propose est certes un peu spamy, mais sur une plateforme comme Twitter, automatique ou non, la qualité des interventions est d’un tel niveau que ça ne changera pas grand chose à la face du Net !
Vous allez donc commencer par créer un nouveau compte sur Twitter (à moins que vous ne souhaitiez pourrir encore un peu plus le votre). Petite astuce au passage : il peut être malin de configurer un auto-répondeur, ou un filtre sur l’adresse email que vous filez pour ce compte qui renvoit un email de promotion de vos sites et services à toutes les personnes qui décideront de vous suivre sur Twitter ! Ca mange pas le pain des français, et cela peut toujours vous ramener quelques prospects pour pas cher ; si vous voulez un bel exemple, ajoutez donc un requin tel que FiveDollarWiki dans votre liste de personnes suivies et surveillez votre boite aux lettres.
Une fois le compte créé, personnalisez un peu l’emballage, ajoutez une photo, etc (pour le lien vers votre site web je pense que ce n’est même pas la peine de vous le dire
).
Le compte est bon (ahah), il va maintenant falloir trouver des choses à poster dedans. Là encore, facile ! Un bon mixeur de flux tel que xFruits et en quelques clics vous vous composez un flux personnalisé qui combine autant de sources que vous le souhaitez (n’hésitez pas à forcer la dose pour éviter les répétitions de tweets, et bien sûr si possible choisissez des sources qui correspondent à la thématique de votre pseudo utilisateur Twitter). N’oubliez pas non plus d’inclure dans les sources les flux du site que vous voulez mettre en valeur…
Et maintenant, le script ! Je vous livre un truc vraiment basique que vous n’aurez ensuite qu’à appeler régulièrement dans la crontab, libre à vous de le sophistiquer un peu par la suite.
ini_set(‘user_agent’,‘Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)’);
$feedUrl = ‘URL DE VOTRE FLUX’;
function send_twitter($message= »,$apiUrl=‘http://twitter.com/statuses/update.xml’)
{
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$apiUrl");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, ‘LOGIN_TWITTER:PASSWORD_TWITTER’);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if(strpos($buffer,‘<error>’) !== false)
{
return false;
}
else
{
return true;
}
}
if ($x = simplexml_load_file($feedUrl))
{
$messages = array();
foreach ($x->channel->item as $v)
{
$title = (string)$v->title;
$url = preg_match(‘#&url=(http%3A%2F%2F.+)$#s’,(string)$v->link,$m) ? urldecode($m[1]) : »;
$cat = (string)$v->category;
$cat = (str_word_count($cat) == 1) ? " #$cat" : »;
$messages[] = array(‘title’=>$title,‘cat’=>$cat,‘url’=>$url);
}
shuffle($messages);
foreach ($messages as $x) if ($x[‘title’])
{
$title = $x[‘title’];
$url = $x[‘url’] ? file_get_contents(‘http://tinyurl.com/api-create.php?url=’.$x[‘url’]) : »;
$cat = $x[‘cat’];
if (strlen(trim(trim($title.$cat)." $url")) <= 140) $title = trim($title.$cat);
if (send_twitter(trim("$title $url"))) break;
}
}
?>
Explications
D’abord n’oubliez pas de renseigner correctement l’URL de votre flux RSS ainsi que vos login et password Twitter.
Ensuite pour le principe c’est méga simple : le script récupère les titres et urls des posts répertoriés dans le flux, éventuellement leur catégorie si elle existe, mélange tout ça et envoit un tweet au hasard de la forme « message url » où le message correspond au titre de l’article et l’url est une url raccourcie de son permalink. Si il y a une catégorie on l’ajoute au titre dans certaines circonstances (si elle n’est composée que d’un seul mot, et si ya la place), préfixée de # ! Dès qu’un tweet est envoyé, le script s’arrête.
Ya plus qu’à mettre tout ça en cron afin d’appeler le script régulièrement et vous aurez insufler la vie à votre robot twitter !
C’est pas compliqué mais ça peut donner de bien belles choses, à titre d’exemple pratique je vous invite à suivre ce Best Twitter Ever à la timeline chichement fournie.
Et après ?
La prochaine étape sera bien sûr de récupérer un maximum de followers, si possible qui partagent des centres d’intérêt liés au site dont vous souhaitez booster le traffic ; on peut même imaginer plugger un chatbot basique à ce compte twitter pour réagir correctement aux messages perso (@bot kikoooo toi) ou d’autres gadgets du genre. Tout ceci fera peut-être l’objet d’un billet ultérieur !

19 mai 2009 @ 18:35
Fatal error: Call to undefined function: simplexml_load_file()
24 septembre 2009 @ 20:53
TOn article RSS to Twitter est une amélioration de cet article?