Matrix Stickers
Table des matières
- Utiliser le stickerpicker d'un ami
- Installation
- Utiliser un pack de sticker du dépôt
- Créer des packs de stickers
- Utilisation de stpkg
Utiliser le stickerpicker d'un ami
Si vous avez des amis ayant déjà leur propre stickerpicker, il est possible de le réutiliser.
- Demandez-lui l'autorisation (ou non)
- Récupérez l'adresse sur laquelle il héberge ses stickers. Cette adresse est généralement de la forme :
https://nom.iiens.net/stickerpicker/web/
- Sur Element, utilisez la commande
/devtools
dans n'importe quel salon
- Cliquez sur
Explorer les données du compte
puis surm.widgets
- Sim.widgets
est absent :- Activer le gestionnaire d'intégration :
Tous les paramètres -> Général -> Gérer les intégrations
- Envoyer un sticker quelconque
- Activer le gestionnaire d'intégration :
- Cliquez sur
Modifier
et remplacez tout par le code qui suit - Pensez à modifier les champsurl
etsender
(remplacer les données entre{%%}
) - Relancez le client
{
"stickerpicker": {
"content": {
"type": "m.stickerpicker",
"url": "https://{% nom de domaine %}/stickerpicker/web/",
"name": "Stickerpicker",
"data": {}
},
"sender": "@{% id %}:{% homeserver %}",
"state_key": "stickerpicker",
"type": "m.widget",
"id": "stickerpicker"
}
}
Installation
Le stickerpicker de base fournit par Element ne permet pas d'utiliser des stickers personnalisés. Il faut donc installer notre propre stickerpicker qui pourra les utiliser.
Il y a deux installations possibles :
- cloner ce dépôt sur un de vos ordinateurs, et héberger les fichiers sur votre perso (ou une autre machine)
- cloner ce dépôt sur votre perso (ou une autre machine) et héberger les fichiers sur cette même machine
Ce README couvre une installation basique. Les paramètres peuvent évidemment être ajustés selon vos désirs et besoins.
Note : Dans le tutoriel, le stickerpicker est nommé 'stickerpicker'
Installation sur un de vos ordinateurs (avec hébergement sur une machine distante, par exemple perso)
Dans cette situation, le dépôt est présent sur votre ordinateur, et les stickers sur une machine distante (par exemple perso).
git clone https://git.iiens.net/Elliu/matrix-stickers.git
cd matrix-stickers
./stpkg -install -sshfs identifiantArise@perso3.iiens.net -local ~/mnt/perso
Installation et hébergement sur une machine distante (par exemple perso)
Dans cette situation, le dépôt et les stickers sont sur une machine distante (par exemple perso).
ssh identifiantArise@perso3.iiens.net
git clone https://git.iiens.net/Elliu/matrix-stickers.git
cd matrix-stickers
./stpkg -install ~/html/stickerpicker
Configuration
Vous devez dans les deux cas configurer le fichier ~/.config/stpkg.sh
en renseignant le serveur d'accueil.
Vous pouvez aussi y définir le jeton d'accès Matrix, mais s'agissant d'une donnée sensible de votre compte à ne pas faire fuiter, il est préférable de ne pas le définir dans ce fichier sur une machine partagée (typiquement perso), mais plutôt le saisir uniquement lorsqu'une commande le demande.
Le jeton d'accès de son compte est récupérable en allant dans Tous les paramètres -> Aide & À propos -> Avancé -> Jeton d'accès
.
Utiliser un pack de sticker
Dans le dossier packs
de ce dépôt sont regroupés tous les packs de stickers créés ou compilés par des IIEns.
La sélection des packs que vous voulez utiliser nécessite d'héberger soi-même son propre stickerpicker (sinon, vous êtes limités aux choix de la personne qui l'héberge).
Plus d'informations dans le dossier en question.
Créer des packs de stickers
Un pack de stickers se résume à un fichier .json
contenant des informations sur des images téléversées sur un serveur Matrix. Il existe deux méthodes pour le faire.
Avant de commencer, deux points pour les utilisateurs Arise :
- Il est conseillé de créer un compte secondaire sur
matrix.org
pour créer les packs de stickers. Arise peut libérer de la place aléatoirement quand c'est nécessaire, et les stickers risquent d'être perdus. L'endroit d'hébergement n'influe pas sur l'utilisation des stickers, et ceux-ci peuvent donc être hébergés sur n'importe quel homeserver. - Il est déconseillé de générer les packs sur
perso.iiens.net
, car le paquet "ImageMagick" n'est pas à jour (impossible de le mettre à jour), et casse la transparence de vos images. Préférez le faire sur votre machine, ou bien recompilez le paquet à la main.
stpkg
(À privilégier)
Méthode automatique via Requis : ImageMagick (en tant que root : apt install imagemagick
/ pacman -S imagemagick
)
Ce script suppose que vous avez déjà créé le/les dossiers regroupant les images que vous souhaitez utiliser.
- Ajouter
stpkg
à sonPATH
(export PATH=$PATH:~/matrix-stickers) - Se connecter à Element, et récupérer le jeton d'accès de son compte en allant dans
Tous les paramètres -> Aide & À propos -> Avancé -> Jeton d'accès
- Utiliser la commande
stpkg pack [nomdupack] folder
# En stockant l'access token dans une variable de votre shell
read ACCESS_TOKEN # coller l'acces token puis faire "entrer"
stpkg pack -t $ACCESS_TOKEN [name] <directory> # si [name] n'est pas fourni, le nom du pack sera le nom du dossier par défaut
# Sans stocker l'access token dans une variable de votre shell (car déja fourni dans votre config)
stpkg pack [name] <directory>
- Activer le pack créé avec la commande
stpkg add <nom du pack>
Le script stpkg
va créer un sous-dossier "nomdupack" dans le dossier packs
du dépôt contenant trois fichiers :
-
<nomdupack>.json
: le.json
des stickers téléversés, rognés, de taille 128x128, sans palette indexée (qui casse la transparence) -
.<nomdupack>.checksums
: permet àstpkg
de faire la différence si on souhaite ajouter / supprimer des stickers
Méthode intermédiaire (Dépréciée)
En utilisant le matrixpack.sh <token> <homeserver> <directory>
.
Méthode manuelle (À éviter)
- Téléverser une image dans un salon non chiffré
- Commencer votre fichier
.json
de cette façon :
{
"title": "{% titre du pack %}",
"id": "{% ce que vous voulez, uuidgen est votre ami %}",
"stickers": [
...
]
}
- Cliquer sur les
…
du message puisVoir source
, pour copier la sectioncontent
de cette source - Le bloc de JSON doit ressembler à ceci, avec le
id
et lemsgtype
modifié par vos soins
{
"body": "image.png", // vous pouvez changer cette valeur
"info": {
"mimetype": "image/png", // dépend du type d'image envoyée
"w": 498, // vous pouvez changer cette valeur
"h": 498, // vous pouvez changer cette valeur
"thumbnail_url": <un path mxc://> // auto-généré
},
"msgtype": "m.image", // à remplacer en "m.sticker"
"url": <un path mxc://>, // auto-généré
"id": "une valeur à définir par vous même" // à définir par vous-même
}
- Coller ce bloc JSON dans la liste
stickers
du.json
de l'étape 2 - Répéter jusqu'à avoir tous les stickers voulu dans le pack
- Ajouter le
.json
àindex.json
Contribuer
Vous pouvez maintenant faire un commit avec ces nouveaux fichiers, et une merge request pour contribuer au dépôt !
Pensez à demander l'accès à un fork déjà existant, plutôt que de créer le votre, pour économiser de la place (les disques, c'est pas gratuit).
Utilisation de stpkg
La commande stpkg
a besoin des executables egrep
(ou grep
si indisponible), sponge
et jq
. Il faut donc les installer ou les recompiler sur votre machine (apt install moreutils jq grep
).
Utilisation basique
Après avoir utilisé stpkg -install
, vous pouvez placer le script stpkg
dans votre path ou créer un alias pour l'exécuter facilement.
Les commandes de stpkg
:
stpkg -install [-sshfs user@server -local mnt_local] [folder]
stpkg update
stpkg list [-e -p -np] [regex bash]
stpkg add <pack>
stpkg del <pack>
stpkg pack [-t token] [name] <folder>
Au moment de l'installation
stpkg
a créé un fichier~/.config/stpkg.sh
qui sera sourcé à chaque lancement destpkg
. Il contient les variables utilisées, vous pouvez les modifier selon vos envies.