Utiliser Mastodon
Updated 19 Juillet 2019
Configuration du serveur mandataire
Il est possible de configurer l'accès à d'autres ressources fédérées via un serveur mandataire. Ajoutez les paramètres nécessaires :
/var/calculate/www/mastodon/live/.env.production
http_proxy=http://proxy.example.org:8888
Redémarrez Mastodon :
/etc/init.d/mastodon-web restart
Utiliser les bots pour gérer les groupes
Un bot [mastodon-bot-autoresponder] (https://github.com/drequivalent/mastodon-bot-autoresponder) sera utilisé pour gérer les groupes.
Créer et configurer un bot
Créez l'utilisateur mastodonbot :
useradd -d /var/calculate/mastodonbot mastodonbot
Clônez le dépôt contenant le code source du bot pour l'utilisateur :
su - mastodonbot
git clone https://github.com/drequivalent/mastodon-bot-autoresponder mastodon-group-bot
Configurez un environnement virtuel pour Python et mettez-le en service.
cd mastodon-group-bot
python3 -m venv env
source env/bin/activate
Définissez les dépendances du bot.
pip install Mastodon.py beautifulsoup4==4.6.0
Créez un script simple de démarrage pour le démon :
#!/sbin/openrc-run # Copyright 2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 name="Mastodon Group Bot daemon" description="Mastodon Group Bot daemon" BOTNAME=${SVCNAME#*.} supervisor=supervise-daemon output_log=/var/log/mastodon-group-bot-$BOTNAME.log error_log=/var/log/mastodon-group-bot-$BOTNAME.log command_user=mastodonbot command="/var/calculate/mastodonbot/mastodon-group-bot/env/bin/python3" command_args="autoresponder.py -c config.$BOTNAME.json" directory="/var/calculate/mastodonbot/mastodon-group-bot" pidfile="/run/mastodon-group-bot-$BOTNAME.pid" command_background=true depend() { use net } start_pre() { checkpath -f -o mastodonbot -m 0600 /var/log/mastodon-group-bot-$BOTNAME.log }
Configurez les droits pour que le démon puisse démarrer :
chmod 755 /etc/init.d/mastodon-group-bot
Ajouter votre bot à Mastodon
Enregistrez le bot comme application sur votre serveur. Pour ce faire, ouvrez votre navigateur et connectez-vous à Mastodon sous le pseudo utilisé par le bot. Maintenant exécutez tokentool.py
:
su - mastodonbot
cd mastodon-group-bot
source env/bin/activate
Choose your action: [r]: register an app to get client_id and client_secret [a]: authenticate to get access_token if you're setting up a bot for the first time, choose [r]. > r App name [autoresponder]: examplebot Instance base URL [https://mastodon.social]: https://mastodon.example.org App registered. client_id: eidNondeabryievrewkasfakuvcorigovpefNifZibr client_secret: jokpinshedCauHalsishpEbodIatsilyethjuOvtyfs While you're at it, do you want to also authenticate? y/n> y Visit the following link, authenticate, and bring back the code that the page gives you afterwards. NB: that code is *not* your access token. https://mastodon.example.org/oauth/authorize?client_id=eidNondeabryievrewkasfakuvcorigovpefNifZibr&response_type=code&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=read+write > MT-afgOKW4wffDpGjXUEB1dm135mcSwX9zql4c3ictM Got access token: cNsH2V8AVJrrovdePEK7GFy6PA7ywHErU1xkwuIX5UM Testing... Success, authenticated as newbot.
Note
Pour obtenir le code d'accès, ~~MT-afgOKW4wffDpGjXUEB1dm135mcSwX9zql4c3ictM~ cliquez sur le lien.
Au moment de l'inscription, les réglages seront les suivants :
- client_id =
eidNondeabryievrewkasfakuvcorigovpefNifZibr - client_secret =
jokpinshedCauHalsishpEbodIatsilyethjuOvtyfs - access_token =
cNsH2V8AVJrrovdePEK7GFy6PA7ywHErU1xkwuIX5UM
Configurez votre bot :
{ "base_url": "https://mastodon.example.org", "client_id": "eidNondeabryievrewkasfakuvcorigovpefNifZibr", "client_secret": "oeCMH9L_OeuuuV699334Rgea3o_0R3kYhfCKu9ZYCh4", "access_token": "cNsH2V8AVJrrovdePEK7GFy6PA7ywHErU1xkwuIX5UM", "message": "Hello, I'm a group bot. Follow me and then write something, and I will boost it. The admins of the group are:", "message_welcome": "Welcome our new member: ", "admins": [], "state_file": "/var/calculate/mastodonbot/mastodon-group-bot/state.examplebot" }
Créez un lien symbolique pointant vers examplebot :
ln -sf mastodon-group-bot /etc/init.d/mastodon-group-bot.examplebot
Lancez votre bot et ajoutez-le au démarrage automatique :
/etc/init.d/mastodon-group-bot.examplebot start
rc-update add mastodon-group-bot.examplebot