Mettre en place un bot « User Count » pour son instance Mastodon
Il est possible de mettre en place des bots pour Mastodon, et tout admin d'instance qui se respecte se doit d'avoir un bot "User Count" pour son instance !
Pour installer une instance de Mastodon, je vous renvoie à mon article précédent.
Le tutoriel qui suit est fait pour Debian 8, mais c'est très facilement adaptable pour d'autres OS. :)
Première étape : Créer un compte sur l'instance de votre choix (ce n'est pas forcément la même que celle dont vous voulez tooter les stats)
On installe les dépendances sur le serveur :apt install gnuplot5 python-pip python2.7 pip install Mastodon.py
Ensuite, on va récupérer tout ce qu'il faut pour communiquer avec l'API, grâce à ce script.
nano mastodon_get_access.py
Collez ce qui suit en adaptant les valeurs à votre compte.
#!/usr/bin/env python from mastodon import Mastodon mastodon_url = "https://your.instance.com" mastodon_bot_login = "your-bot@email.address" mastodon_bot_password = "youR_B0t_P4ssw0rD" m_client_id, m_client_secret = Mastodon.create_app(client_name="serverstatus", api_base_url=mastodon_url) masto = Mastodon(client_id=m_client_id, client_secret=m_client_secret, api_base_url=mastodon_url) access_token = masto.log_in(mastodon_bot_login, mastodon_bot_password) print("uc_client_id: " + m_client_id + "\\nuc_client_secret: " + m_client_secret + "\\nuc_access_token: " + access_token)
On lance le script :
python mastodon_get_access.py
Il renvoie 3 valeurs :
uc_client_id: tructrèslong uc_client_secret: tructrèslong uc_access_token: tructrèslong
Maintenant, on passe à la mise en place du bot.
On clone les fichiers du bot depuis le dépôt de josefkenny :
git clone https://github.com/josefkenny/usercount.git cd usercount
Dans le fichier config.txt
, mettez le nom de l'instance dont vous voulez tooter les stats.
mastodon_hostname: mstdn.io
Ensuite, dans secrets/secrets.txt
, on met les 3 valeurs que l'on a obtenu plus haut.
uc_client_id: tructrèslong uc_client_secret: tructrèslong uc_access_token: tructrèslong
C'est tout bon !
On peut lancer le bot avec :
python usercount.py
La première fois, vous aurez forcément une erreur. Relancez le script quand vous aurez un nombre d'utilisateurs ou de toots différents, ça devrait fonctionner.
Une fois que c'est bon, vous pouvez mettre en place un cron pour que le bot toot automatiquement.
Pour un toot toutes les heures, on édite crontab avec crontab -e
et on y met :
@hourly cd /chemin/vers/usercount && python2 usercount.py > /tmp/usercount.log 2>&1
Et voilà ce que ça donne, pour le bot de mon instance, usercount@mstdn.io :
Quelqu'un a même fait une variante qui compte tous les comptes de toutes les instances Mastodon. Sympa !
N'oubliez pas de me suivre sur angristan@mstdn.io. ;)
L'article Mettre en place un bot « User Count » pour son instance Mastodon a été publié sur Angristan