linuxaddict:administrer:retweet

retweet

retweet est un service qui, à travers une application (ou un projet) Twitter, vous permet de retweeter tous les tweets d'un compte sûr (qui ne tweete pas des messages avec lesquels vous pourriez être en désaccord) ou tous ceux qui comprennent un hashtag précis (ce qui est fortement déconseillé).

Pour mettre en place le service retweet, il vous faut :

  • posséder un serveur Linux (à base de Debian) connecté en permanence à l'internet ;
  • avoir une connaissance correcte de l'anglais technique informatique ;
  • disposer d'un compte Twitter.

C'est le plus simple. Rendez-vous sur Twitter et inscrivez-vous : choisissez un pseudo (un seul mot, sans accents) ; vous devrez renseigner votre adresse e-mail et votre numéro de téléphone portable (vous recevrez un message qui vous demandera confirmation).

Abonnez-vous ensuite à chacun des comptes dont vous désirez retweeter les tweets.

Sur un serveur Debian GNU/Linux 11 (bullseye), avec les droits root :

apt install python3 python3-setuptools python3-pip
pip3 install retweet
pip3 install tweepy==3.10.0

Avant de configurer retweet, il vous faut créer votre application Twitter.

C'est la partie la plus délicate. Toute l'interface est en anglais ; il vous faut donc comprendre ce patois.

Rendez-vous sur https://developer.twitter.com/. Connectez-vous avec votre compte Twitter.

Twitter vous demandera certainement de confirmer les renseignements que vous avez fournis précédemment, et de prouver que vous n'êtes pas un robot.

Le temps de réception de l'e-mail de confirmation est parfois un peu longuet (ça peut prendre une heure).

Une fois votre compte confirmé, rechargez la page https://developer.twitter.com/.

Créez un application “pour votre propre usage”. Donnez-lui un nom (un seul mot, sans accents).

Quand il vous est demandé d'en dire plus sur votre projet, répondez par :

I'm using the Twitter API to retweet certain Twitter accounts on political news.

I do not plan to analyze Tweets. I just want to share political news with my followers.

This app does not interact with Twitter users, it just aims to retweet their Tweets.

This Twitter app does not display any Twitter content off of Twitter.

(Remplacez political par le sujet qui vous intéresse.)

Continuez à remplir le formulaire, acceptez les conditions de service et soumettez votre application à l'approbation de Twitter.

Attendez l'e-mail de confirmation…

Copiez-collez dans un fichier texte les 4 renseignements suivants, sinon vous risquez de les perdre et de devoir en demander de nouveaux :

  • API key
  • API secret key
  • Access token
  • Access token secret

Sur votre serveur, créez un dossier nommé retweet et placez-vous dedans :

mkdir retweet
cd retweet

Vous allez ensuite créer un fichier texte par compte à retweeter. Ce fichier texte aura pour extension .ini. Par exemple : rt_NomDuCompte.ini

Ce fichier devra contenir :

[twitter]
screen_name_of_the_user_to_retweet=NomDuCompte (sans le @)
consumer_key=(ici l'API key)
consumer_secret=(ici l'API secret key)
access_token=(ici l'Access token)
access_token_secret=(ici l'Access token secret)

[retweet]
; Config cf. https://retweet.readthedocs.io/en/latest/configure.html
retweets = 0
do_not_retweet_hashtags=
only_if_hashtags=
match=
; only retweet tweets older than n minutes
older_than=0
; only retweet tweets younger than n minutes
younger_than=11
; also like every tweet ? (true or false)
like=true

[sqlite]
sqlitepath=/chemin/vers/rt_NomDuCompte.db

Créez également le fichier /chemin/vers/rt_NomDuCompte.db avec la commande :

touch /chemin/vers/rt_NomDuCompte.db

Éditez votre crontab :

crontab -e

Ajoutez dans votre crontab la ligne :

1,11,21,31,41,51 * * * *    /usr/local/bin/retweet /chemin/vers/dossier/retweet/rt_NomDuCompte.ini

Sortez de l'éditeur de crontab. Votre nouvelle crontab est mise en place.

Quelques explications sont sans doute nécessaires :

  • 1,11,21,31,41,51 * * * * signifie que la commande sera exécutée aux minutes 1,11,21,31,41,51 de chaque heure, chaque jour du mois, de chaque mois, et ce quel que soit le jour de la semaine (les 4 étoiles).
  • Ici, les retweets s'effectueront donc toutes les 10 minutes, sur des tweets existant depuis moins de 11 minutes (paramètre younger_than=11 du fichier .ini).
  • Il est préférable d'indiquer des minutes différentes dans d'un fichier .ini à l'autre ; ce n'est pas obligatoire mais cela répartit la charge. Par contre, conservez l'écart de 10 minutes. Exemple : 2,12,22,32,42,52.

Vous devriez constater que votre compte Twitter retweete automatiquement les tweets des comptes prévus. Si ce n'est pas le cas, vérifiez vos fichiers .ini et votre crontab.


2 personnes ont visité cette page aujourd'hui et 798 en tout.

  • linuxaddict/administrer/retweet.txt
  • Dernière modification : 07/05/2022, 23:55
  • de Claude Clerc