Booster automatiquement les toots intéressants de Mastodon avec le bot Boost
Sur 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 sur Gitlab.com (étoile bienvenue si vous souhaitez soutenir le projet)
- La documentation officielle de Boost sur Readthedocs.io
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.