Récupérer les tweets d'une instance statusnet en live avec javascript

Recuperation des status en live

C'est en partant d'un script écrit pour twitter (jquery.livetwitter.js) que que j'ai mis en place un script compatible avec l'API de statusnet. Vous pouvez donc désormais facilement utiliser ce script pour afficher vos derniers status sur votre site. J'ai forké le plugin livetwitter car il y avait un bug (concernant les URL vers les utilisateurs). Mon code est disponible ici : https://github.com/theclimber/jquer...

Pour utiliser ce script c'est assez simple, Importez jquery et ce script dans votre page html, créez un div dans lequel on pourra insérer le contenu (ici twitterUserTimeline) et appellez la fonction suivante :

$('#twitterUserTimeline').liveTwitter('planetlibre', {limit: 5, mode: 'home_timeline', service:'status.planet-libre.org', rate:5000});

Vous avez désormais l'affichage de votre home_timeline en live. A savoir que d'autres affichages sont possibles :

Affichage de tous les status contenant le mot "linux" :

$('#twitterSearch').liveTwitter('linux', {mode: search, limit: 5, rate: 5000, service:'status.planet-libre.org'});

Affichage de tous les status de votre user_timeline :

$('#twitterUserTimeline').liveTwitter('planetlibre', {limit: 5, mode: 'user_timeline', service:'status.planet-libre.org', rate:5000});

Notifications en live

De plus j'ai mis en place une fonction callback qui se base sur jquery.toastmessage.js et qui permet d'afficher une notification à chaque fois qu'un nouveau message est affiché :

		var show_notice_at_start = 0;
		function showStickySuccessToast(noticeText) {
			$().toastmessage('showToast', {
				text     : noticeText,
				sticky   : false,
				stayTime:  3000,               // time in miliseconds before the item has to disappear
				position : 'top-right',
				type     : 'status',
				closeText: '',
			});
		}

		var callback_popup = function(divName, count) {
				if (show_notice_at_start) {
					for (var i = 0; i < count; i++) {
						var newTw = this.container.children[i].textContent;
						showStickySuccessToast(newTw);
					}
				} else {
					show_notice_at_start = 1;
				}
		};

Ensuite pour ajouter cette fonction de callback, il faut appeller le script livetwitter avec un paramètre en plus :

$('#twitterUserTimeline').liveTwitter('planetlibre', {limit: 5, mode: 'home_timeline', service:'status.planet-libre.org', rate:5000}, callback_popup);

Ca vous demande évidement d'avoir importé le script au préalable et d'avoir configuré la feuille de style qui va avec. Pour que vous puissiez tester, je vous invite à télécharger l'archive de démo que je met à votre disposition pour voir comment je m'y suis pris : live_statusnet.tar.bz2

Vus : 1983
Publié par theClimber : 28