Question

J'ai un flux de mon profil Twitter en haut de mon site, mais je me suis demandé s'il existait un moyen de filtrer mes @ réponses et de ne montrer que les mises à jour de statut?

Merci

Était-ce utile?

La solution

Si vous utilisez le code Web standard de flux Twitter pour Blogger et des sites similaires, ce morceau de Javascript fait l'affaire. Il se situe entre le flux Twitter et le rappel et supprime les réponses de la réponse du serveur.

Pour un badge de blog, le code Web Twitter standard se termine par deux <script> balises. Le premier fournit la fonction qui affiche vos tweets. La deuxième demande à twitter pour les tweets à afficher.

Ajoutez ce script à votre code de badge avant la requête Twitter. Il fournit une nouvelle fonction appelée filterCallback qui supprime @replies de la réponse Twitter.

<script type="text/javascript">
  function filterCallback( twitter_json ) {
    var result = [];
    for(var index in twitter_json) {
      if(twitter_json[index].in_reply_to_user_id == null) {
        result[result.length] = twitter_json[index];
      }
      if( result.length==5 ) break; // Edit this to change the maximum tweets shown
    }
    twitterCallback2(result); // Pass tweets onto the original callback. Don't change it!
  }
  </script>

La requête Twitter elle-même a un paramètre qui spécifie la fonction à appeler lorsque la réponse revient. Dans le cas d'un blogueur, cette fonction s'appelle 'twitterCallback2' - vous pouvez la rechercher dans le code Web (recherchez callback=twitterCallback2). Pour utiliser le nouveau filtre, vous devez remplacer le texte twittercallback2 par filterCallback. Le filtre est codé en dur pour appeler ensuite twitterCallback2 quand c'est fait.

Notez que cela réduira le nombre de tweets affichés si certaines des réponses de Twitter sont des réponses. Vous devez donc augmenter le paramètre de comptage dans l'appel pour le permettre. La nouvelle fonction limite alors le nombre de réponses affichées à cinq - modifiez le code pour le changer.

Voici mon billet de blog à ce sujet: Filtrer les réponses hors du fil Twitter

Autres conseils

Si vous souhaitez utiliser les nouveaux widgets Twitter, ajoutez simplement ce morceau de code dans le paramètre features: du code source du widget:

filters: {
  negatives: /\B@\w{1,20}(\s+|$)/
},

J'ai pris celui-ci sur le site Web de Dustin Diaz à l'adresse http://www.dustindiaz.com . Dustin Diaz est le créateur du widget Twitter.

Modifiez l'appel setUser en

setUser('name&exclude_replies=true');

C'est un peu un bidouillage mais ça fait l'affaire

Dépend de ce que vous utilisez pour afficher les entrées. Si vous utilisez le widget de Twitter, alors probablement pas. Si vous utilisez une autre méthode de programmation pour afficher les éléments, vous devez fournir plus de détails sur ce que vous faites (langue, exemple de code, etc.) et nous pourrons probablement vous aider à filtrer.

Vous voudrez probablement utiliser une expression régulière. Quelque chose dans le genre de:

[a-zA-Z0-9][a-zA-Z0-9]*: @[a-zA-Z0-9][a-zA-Z0-9]*.*

En fonction du formatage de votre flux Twitter sur votre page. Cette regex suppose que vous êtes formaté comme suit:

username: @username msg txt

Si cela correspond, ne l'affichez pas. Si cela ne correspond pas, affichez-le. :) Si vous avez des balises avec le texte, ajustez l'expression rationnelle de manière appropriée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top