Skip to content
Extraits de code Groupes Projets
Nom Dernière validation Dernière mise à jour
packs
screenshots
.gitignore
README.md
matrixpack.sh
stpkg

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

Si vous avez des amis ayant déjà leur propre stickerpicker, il est possible de le réutiliser.

  1. Demandez-lui l'autorisation (ou non)
  2. 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/
  3. Sur Element, utilisez la commande /devtools dans n'importe quel salon

devtools

  1. Cliquez sur Explorer les données du compte puis sur m.widgets - Si m.widgets est absent :
    1. Activer le gestionnaire d'intégration : Tous les paramètres -> Général -> Gérer les intégrations
    2. Envoyer un sticker quelconque

devtools1

  1. Cliquez sur Modifier et remplacez tout par le code qui suit - Pensez à modifier les champs url et sender (remplacer les données entre {%%})
  2. 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.

  1. Se connecter à son perso (ou son site web)
ssh identifiantArise@perso.iiens.net
  1. Cloner le dépôt
git clone https://git.iiens.net/Tigriz/matrix-stickers.git
  1. 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.

Méthode automatique via stpkg (À privilégier)

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.

  1. Cloner ce dépôt
git clone https://git.iiens.net/Tigriz/matrix-stickers.git
  1. Ajouter stpkg à son PATH (Optionnel)
  2. 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
  3. 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>
  1. 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)

  1. Téléverser une image dans un salon non chiffré
  2. Commencer votre fichier .json de cette façon :
{
  "title": "{% titre du pack %}",
  "id": "{% ce que vous voulez, uuidgen est votre ami %}",
  "stickers": [
    ...
  ]
}
  1. Cliquer sur les du message puis Voir source, pour copier la section content de cette source
  2. Le bloc de JSON doit ressembler à ceci, avec le id et le msgtype 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
}
  1. Coller ce bloc JSON dans la liste stickers du .json de l'étape 2
  2. Répéter jusqu'à avoir tous les stickers voulu dans le pack
  3. 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 de stpkg. 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