Matrix Stickers
matrix-stickers
est un dépôt créé pour regrouper les pack de stickers créés par les IIEns.
Il propose aussi plusieurs tutoriels afin d'installer un meilleur sélecteur de stickers (stickerpicker) que celui fournit par défaut sur Element, d'utiliser ces packs de stickers, ainsi que de les créer soi-même.
Salon dédié : https://matrix.to/#/##sticker:iiens.net
Table des matières
- Utiliser le stickerpicker d'un ami
- Avoir un meilleur stickerpicker
- 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"
}
}
Avoir un meilleur stickerpicker
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. On l'hébergera ici sur votre perso Arise, mais il est bien évidemment possible de l'héberger ailleurs.
- Se connecter à son perso (ou son site web)
ssh identifiantArise@perso.iiens.net
- Cloner le dépôt
git clone https://git.iiens.net/Tigriz/matrix-stickers.git
- Se déplacer dans le dossier du dépôt et exécuter le script
stpkg
cd matrix-stickers
./stpkg -install
# ou pour une installation avec sshfs (cf "Utilisation de stpkg")
./stpkg -install -sshfs nomAAAA@perso.iiens.net -local ~/mnt/perso
Vous avez maintenant hébergé votre propre stickerpicker. Pour l'utiliser, se référer au paragraphe précédent !
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.
- Cloner ce dépôt
git clone https://git.iiens.net/Tigriz/matrix-stickers.git
- Ajouter
stpkg
à sonPATH
(Optionnel) - 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
# 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
stpkg pack [name] <directory>
- Activer le pack créé avec la commande
stpkg add <nom du pack>
Le script stpkg
va créer un dossier 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) -
preview.png
: une prévisualisation des images en mosaïque avec ImageMagick -
README.md
: affiche la prévisualisation (pour Gitlab notamment)
Méthode intermédiaire
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": "boom_ni.gif", // vous pouvez changer cette valeur
"info": {
"mimetype": "image/gif", // dépend du type d'image envoyée
"w": 498, // vous pouvez changer cette valeur
"h": 498, // vous pouvez changer cette valeur
"thumbnail_url": "mxc://tedomum.net/LyJmspAoLIOBPHUzqwwEBzmH"
},
"msgtype": "m.image", // à remplacer en "m.sticker"
"url": "mxc://tedomum.net/LSJhWayzyrbIkntHxnThICKQ",
"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.
Comment utiliser stpkg sur perso
TL;DR sshfs à la rescousse.
Les vrais explications : au moment de l'installation de stpkg
on va
utiliser les options -sshfs <ssh address> -local <point de montage locale>
.
Veillez noter que si vous utilisez l'option -sshfs
, l'option folder
pointera sur un dossier sur perso.
Voici un exemple d'installation avec sshfs, où votre repo est sur votre ordi et les stickers sur perso :
./stpkg -install -sshfs nomAAAA@perso.iiens.net -local ~/mnt/perso