Booster automatiquement les toots intéressants de Mastodon avec le bot Boost

mastodonSur le réseau social Mastodon, vous vous abonnez à des utilisateurs très sympas comme par exemple Carl Chenet ;p et à chaque fois qu’il utilise une marque particulière comme #Mastodon, vous avez remarqué qu’il s’agit d’une bonne remarque car il connaît son sujet et vous souhaitez la partager en la boostant à vos propres abonnés. Mais comme tout le monde vous avez parfois besoin de dormir et donc automatiser cette tâche vous semble important.

Ne cherchez plus, utilisez simplement le bot Boost !

À propos de Boost

boost-gitlab

Exemple complet d’utilisation de Boost

Bien, on va donc mettre en place le bot Boost afin de booster automatiquement les toots du compte de Carl Chenet quand il utilise le mot-clé #Mastodon. Nous commençons par installer Boost :

# pip3 install boost

Nous allons créer un utilisateur dédié sur le système avec les répertoires /etc/boost pour les éléments de configuration et /var/lib/boost pour les données :

# adduser --home /var/lib/boost --gecos "" boost
# mkdir -p /etc/boost/credentials /var/lib/boost
# chown -R boost:root /etc/boost /var/lib/boost

Générons maintenant l’autorisation de notre application afin qu’elle puisse utiliser notre compte Mastodon :

$ register_boost_app

Il suffit de répondre aux questions qui sont posées par l’application. Si les éléments de configuration sont corrects, deux fichiers sont générés qui contiennent nos autorisations, boost_usercred.txt et boost_clientcred.txt dans votre répertoire courant.

Nous écrivons maintenant la configuration de Boost :

[mastodon]
users_to_boost=carlchenet@mastodon.social
instance_url=https://mastodon.social
user_credentials=/etc/boost/credentials/boost_usercred.txt
client_credentials=/etc/boost/credentials/boost_clientcred.txt

[boost]
only_if_hashtags=Mastodon

[sqlite]
sqlitepath=/var/lib/boost/boost.db

Bien, expliquons cette configuration en détail :

  • Dans la section [mastodon] :
    • users_to_boost est une liste des comptes Mastodon des utilisateurs intéressants, séparés par une virgule
    • instance_url est l’URL vers votre instance Mastodon
    • user_credentials est le chemin vers le fichier boost_usercred.txt, généré par la commande register_boost_app
    • client_credentials est le chemin vers le fichier boost_clientcred.txt, généré par la commande register_boost_app
  • Dans la section [boost] :
    • only_if_hashtags définit une liste de mot-clé (sans le # devant) séparés par une virgule qui identifieront les toots à booster
  • Dans la section [sqlite] :
    • sqlitepath est un chemin vers le fichier de base de données qui contient l’identifiant des toots déjà boostés.

Notre configuration de Boost est maintenant prête. Si nous voulons éviter d’automatiquement booster les derniers 20 toots correspondant aux critères définis, nous allons lancer pour la première fois Boost avec l’option de la ligne de commande –populate-database :

$ boost --populate-database --config /etc/boost/boost.ini

La prochaine exécution de Boost avec la commande suivante boostera automatiquement tous les toots correpondant à nos critères :

$ boost --config /etc/boost/boost.ini

Pour nous éviter de lancer cette commande à la main, nous ajoutons une ligne dans notre crontab pour exécuter de Boost une fois par heure :

0 * * * * boost boost --config /etc/boost/boost.ini

À consommer avec modération

L’utilisation de Boost vous permet d’automatiquement apporter du contenu à vos abonnés. Il faut toutefois choisir avec intelligence vos critères afin que le contenu apporté reste cohérent avec ce que vos abonnés recherchent en vous suivant. Donc comme avec chaque processus d’automatisation, un peu de réflexion à la mise en place et tout le monde sera content.

… et pour finir

Pour soutenir mon implication dans le Logiciel Libre et mes articles sur ce blog, n’hésitez pas à donner via ma page Liberapay, même à hauteur de quelques centimes par semaine 😉 Mes adresses Bitcoin, Monero et Ğ1 sont également disponibles sur cette page.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *