diff --git a/README.md b/README.md index a5be63b89188b421d276c20ca1972305406aa76e..e8d177750a0779b3adac721ad8832c428c2f7c16 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ Pour cela : https://nom.iiens.net/stickerpicker/web/?theme=$theme ``` 3. Connectez vous à Element. Utilisez la commande `/devtools` -4. Cliquer sur `Explorer les données du compte` puis sur `m.widgets`. Si absent, activer le gestionnaire d'intégration. - `Tout les paramètres -> général -> Gérer les intégrations`. Puis envoyer n'importe quel sticker. +4. Cliquer sur `Explorer les données du compte` puis sur `m.widgets`. Si absent : 1. Activer le gestionnaire d'intégration. + `Tout les paramètres -> général -> Gérer les intégrations` 2. Envoyer n'importe quel sticker. 5. Cliquer sur `Modifier` et remplacer tout par le code suivant en n'oubliant pas de modifier les champs "url" et "sender": ```json @@ -40,7 +40,7 @@ Pour cela : } } ``` - Supprimer ensuite les commentaires + Supprimer ensuite les commentaires. 6. Actualiser ## Avoir un meilleur stickerpicker @@ -93,6 +93,7 @@ Vous avez maintenant un stickerpicker pouvant envoyer des stickers privacy\_pam. ## 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 [tutoriel](https://git.iiens.net/Tigriz/matrix-stickers/-/tree/master/packs). @@ -104,12 +105,12 @@ il est possible que vos packs ne soient plus disponibles, car Arise libère de l sur matrix.org, rendez vous [ici](https://app.element.io/#/register). Même si vos stickers seront 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 maj ) et casse la transparence de vos images. Si vous souhaitez +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 +### Méthode automatique (Recommandé) **Via le script matrixpack.sh** **Requis** : *ImageMagick* (`sudo apt-get 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. diff --git a/matrixpack.sh b/matrixpack.sh index f743a267ba050d06bd673629975c1d552b64fb35..9c4f43e0c3f99d8b4c4bd806a2335751eb06c17e 100755 --- a/matrixpack.sh +++ b/matrixpack.sh @@ -141,6 +141,7 @@ do convert "$slug/tmp/$f.$type" -resize "128x128" "$slug/tmp/size" width=$(identify -format "%w" "$slug/tmp/size"[0])> /dev/null height=$(identify -format "%h" "$slug/tmp/size"[0])> /dev/null + # Appending to json echo -n "{\"body\":\"$f\",\"info\":{\"mimetype\":\"image/$type\",\"h\":$height,\"w\":$width,\"thumbnail_url\":\"$mxc\"},\"msgtype\":\"m.sticker\",\"url\":\"$mxc\",\"id\":\"$packname-$f\"}" >> "$slug/$slug.json" first="," diff --git a/updatePacks.py b/updatePacks.py new file mode 100644 index 0000000000000000000000000000000000000000..12dab54eee21a472ba1c292bb85bc2e11ec6be39 --- /dev/null +++ b/updatePacks.py @@ -0,0 +1,62 @@ +import json +import sys +from colorama import Fore, Back, Style + +# Pack is updated only if index and description are given +update = False +if len(sys.argv) <= 1 or len(sys.argv) == 3: + print("Usage : python updatePacks.py pack.json [sticker_index] [new_description]") + exit(1) +elif len(sys.argv) > 3: + update = True + +# Read the pack file +with open(sys.argv[1],'r') as myfile: + stickerpack = myfile.read() + +# Parse the pack +json_pack = json.loads(stickerpack) +nb_stickers = len(json_pack['stickers']) + + +if update == False: + + # Print the number of stickers in this pack + print("There are " + str(nb_stickers) + " stickers in this pack: ") + for i in range(nb_stickers): + print("\t"+str(i+1) + ". " + json_pack['stickers'][i]['body']) + + # Print how to update the description of a sticker + print("To update a sticker, replace the arguments in red:") + print(Fore.CYAN +Style.BRIGHT + "python " +Style.RESET_ALL+ "updatePacks.py " + sys.argv[1] + Fore.RED + Style.BRIGHT+" sticker_index 'new_description'") + exit(0) + +# Informations +sticker_index = int(sys.argv[2]) +new_body = sys.argv[3] + + +# Change the body of the sticker_index +if sticker_index > nb_stickers: + print("Index out of range : "+ str(sticker_index) + " > "+str(nb_stickers)) + exit(1) +elif sticker_index == 0: + print("Index starts at 1") + exit(1) +else: + # Update the body of the sticker + json_pack['stickers'][sticker_index-1]['body'] = new_body + + # Print the body of all the stickers + print(Fore.GREEN + 'Updated!'+ Style.RESET_ALL) + print("New sticker pack:") + for i in range(nb_stickers): + if i == sticker_index-1: + print("\t "+Fore.GREEN+str(i+1) + ". " + json_pack['stickers'][i]['body']+Style.RESET_ALL) + else: + print("\t "+str(i+1) + ". " + json_pack['stickers'][i]['body']) + + # Replace the old pack.json by the updated one + out_file = open(sys.argv[1], 'w') + json.dump(json_pack, out_file, indent = 3) +