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 "stickerpicker", d'utiliser des packs de sticker
ainsi que de les créer soi-même.
Salon d'aide : `##sticker:iiens.net`
`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.
4. Se connecter à Element. Utiliser la commande `/devtools` dans n'importe quel tchat.

5. Cliquer sur `Explorer les données du compte` puis sur `m.widgets`.
- Si `m.widgets` est absent, il faut activer le gestionnaire d'intégration dans `Tout les paramètres -> Général -> Gerer les intégrations`.
Ensuite il faut clicker sur `Envoyer` plutôt que `Modifier` dans le point suivant.

6. Cliquer sur `Modifier` (ou `Modifier`, cf point 5) et remplacer tout par le code suivant en n'oubliant pas de modifier
les champs "url" et "sender" avec les infos correspondantes :
```json
{
"stickerpicker":{
"content":{
"type":"m.stickerpicker",
"url":"https://{% nom de domaine %}/stickerpicker/web/?theme=$theme",
"name":"Stickerpicker",
"data":{}
},
"sender":"@{% id %}:{% homeserver %}",
"state_key":"stickerpicker",
"type":"m.widget",
"id":"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.
Il faut remplacer les données entre `{%%}` par ce qu'il correspond à votre compte / installation.
7. Actualiser Element
Vous avez maintenant un stickerpicker pouvant envoyer des stickers privacy\_pam.
Vous avez maintenant hébergé votre propre stickerpicker. Pour l'utiliser, se référer au [paragraphe précédent](#user-content-utiliser-le-stickerpicker-dun-ami) !
## Utiliser un pack de sticker
Dans le dossier `pack` de ce dépôt sont regroupés tout les packs de sticker créé par des IIEns.
Pour les utiliser, vous devez déjà avoir installé votre propre stickerpicker (étape précédente).
Pour en ajouter un dans le stickerpicker, allez voir ce
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]((#user-content-avoir-un-meilleur-stickerpicker)) 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](/packs).
## Créer des packs de stickers
Avec le nouveau stickerpicker installé, il est possible de créer ses propres packs de stickers.
Un pack de stickers se résume à un fichier json possédant des informations précises sur les images téléversées.
- Note 1 : Il est conseillé de créer un compte secondaire sur matrix.org pour créer les packs de stickers.
Si vous utilisez votre compte Arise, il est possible que vos packs ne soient plus disponibles. En effet Arise
libère de la place aléatoirement quand c'est nécessaire. Pour se créer un compte sur matrix.org, rendez vous
[ici](https://app.element.io/#/register). Même si vos stickers sont hébergés sur votre compte secondaire, vous
pourrez toujours utiliser le stickerpicker et envoyer les stickers avec votre compte Arise.
- Note 2 : Il est déconseillé d'effectuer cette étape sur perso.iiens.net. Préférez le faire sur votre machine car
cette étape nécessite le paquet "ImageMagick" qui n'est pas à jour sur perso.iiens.net (impossible de le mettre à jour)
et casse la transparence de vos images. Si vous souhaitez tout de même le faire sur perso.iiens.net, vous pouvez
recompiler à la main le paquet, je vous laisse chercher comment faire.
Pour créer ce ficher json et téléverser ses images, il existe deux méthodes :
### Méthode automatique (Recommandé)
**Via stpkg**
**Requis** : *ImageMagick* (en tant que root : `apt install imagemagick`/`pacman -S imagemagick`).
Ce script suppose que vous avez déjà créer un ou plusieurs dossiers regroupant les images que vous souhaitez utiliser en sticker.
Le nom du dossier définira le nom du pack, et les images s'y trouvant deviendront les stickers du pack.
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`](https://app.element.io/#/register) 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.
3. 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`
4. Utiliser la commande `stpkg pack`
```bash
# 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>
```
5. 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 manuelle
1. Téléverser une image dans un salon non-chiffré
**Ne le faites pas sur le serveur Matrix d'Arise, les admins peuvent suppriment les images pour libérer de
la place, mais ça n'a jamais été fait (source : Nitorac & Kubat)**. De manière générale pensez à compresser
un peu vos images avant de les upload, les disques c'est pas gratuit.
2. Commencer votre fichier json de cette façon
### Méthode intermédiaire
En utilisant le [`matrixpack.sh <token> <homeserver> <directory>`](/matrixpack.sh).
### Méthode manuelle (À éviter)
1. Téléverser une image dans un salon non chiffré
2. Commencer votre fichier `.json` de cette façon :
**Attention** : ajouter `"id" : "Ce que vous voulez"` après le champ `url`. Il est important de ne pas l'oublier sinon les stickers de s'enverront pas.
4. Répéter jusqu'à avoir tous les stickers voulu dans le pack
5. Ajouter le json à index.json
3. Cliquer sur les `…` du message puis`Voir source`, pour copier la section `content` de cette source
4. Le bloc de JSON doit ressembler à ceci, avec le `id` et le `msgtype` modifié par vos soins
"id":"une valeur à définir par vous même"//àdéfinirparvous-même
}
```
5. Coller ce bloc JSON dans la liste `stickers` du `.json` de l'étape 2
6. Répéter jusqu'à avoir tous les stickers voulu dans le pack
7. 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`).
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`