# Répondre à un toot sans ouvrir son navigateur
2024-01-20T14:49:48Z

Petit à petit, j'essaie de limiter les distractions lorsque j'utilise mon ordinateur.
L'idéal serait une utilisation déconectée comme le permet offpunk de ploum:
=> https://ploum.net/2023-11-25-offpunk2.html

Malheureusement, je n'y arrive pas encore.
Mon travail nécessite que j'ouvre un navigateur qui supporte du javascript pour Pronote.
La vie fait qu'il est souvent indispensable de consulter le site de la banque pour faire les comptes.
Il faut déclarer les salaires de la nounou sur Pajemploi.
Je vérifie le trajet pour la prochaine formation sur openstreetmap.
...
Tout ceci, je pourrai le réserver à une session dédiée pour ces tâches après m'être fait un planning, et éviter de me perdre sur internet.

Pour l'instant, je gagne du temps avec les flux RSS/ATOM.
Ils sont récupérés par sfeed (ou rss2email), ça fait une synchronisation des choses à lire. C'était avant envoyé par mail, mais je tente de réserver la lecture sur mon ordinateur plutôt que d'être tenté d'ouvrir un webmail à chaque instant "libre" de la journée dans une quête futile d'optimisation de la moindre seconde.
=> https://github.com/rss2email/rss2email
=> https://codemadness.org/sfeed-simple-feed-parser.html

Reste un problème : les messages sur mastodon.
Je déteste l'interface de Mastodon, c'est un piège, un distracteur, avec notifications et nouveautés régulières.
Alors, je m'abonne au flux RSS des personnes que je veux lire. Il suffit d'ajouter ".rss" à la fin, par exemple : 
=> https://mamot.fr/@ploum.rss

Seulement, je perds la possibilité d'interagir et de commenter les posts.
On en arrive enfin au sujet de ce billet : comment répondre à un toot sans ouvrir le navigateur?
Facile, le lecteur de flux RSS indique l'URL des toots.
J'ai écrit un petit script qui prend en argument l'id du toot auquel on veut répondre. Il s'utilise par exemple ainsi : 

```
pwet -r https://im-in.space/@prx/111788504349081874 Réponse au toot
```

Voici la tête du script, qui a seulement besoin de "curl":

```
#!/bin/sh
# toot with curl
# create a new application in your mastodon profile to get a token and write it in ~/.config/mastodon.token

instance="im-in.space"
token="$(cat $HOME/.config/mastodon.token)"
url="https://$instance/api/v1/statuses"


help() 
{
	printf "usage:\n"
	printf "\t%s [-r reply_to ] [-h] Your status\n" "$0"
	printf "\n"
	printf "\t-h             Show this help\n"
	printf "\t-r reply_to    String. ID or url of the status being replied to.\n"
	printf "\n"
	printf "example:\n"
	printf "\t%s -r https://foo.bar/@username/1104349081874 The reply message\n" "$0"
	exit 1
}

while getopts 'hr:' c
do
	case $c in
		h) help ;;
		r) reply_to="${OPTARG}" ;;
	esac
done
# skip options in argument index so $1 is the status
shift $((OPTIND - 1))

status="\"$*\""
test -z "$status" && help

if [ -n "${reply_to}" ]; then
	# get id if url is given
	reply_to_id="$(printf "${reply_to}" | awk -F/ '{print $NF}')"

	curl -s "${url}" \
		-H "Authorization: Bearer $token" \
		-F status="${status}" \
		-F in_reply_to_id="${reply_to_id}" > /dev/null

else
	curl -s "${url}" \
		-H "Authorization: Bearer $token" \
		-F status="${status}" > /dev/null
fi
```

Toutes ces réponses prennent la forme de commandes, lignes après lignes, dans un fichier qui est éxécuté comme un script lorsque je veux les envoyer (lorsque je passe en mode "en ligne").

En complément, il me reste à créer une file d'attente des mails à envoyer. Ils sont rédigés hors ligne, et j'envoie quand tout est prêt.
=> https://github.com/Stebalien/msmtp-queue

Ces idées de déconnexion a déjà été bien décrit par ploum:
=> https://ploum.net/3-janvier-2022-quest-ce-quune-deconnexion/index.html

Je n'en suis qu'aux début de l'aventure, mais j'en ai besoin.

---
Une réaction?

Envoyez votre commentaire par mail (anonyme):
=> mailto:bla@bla.si3t.ch?subject=repondre-toot-en-cli

Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages:
=> https://si3t.ch/log/_commentaires_.txt