From 276d777944dba8bdff376b3e562d5c81d644ef22 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Fri, 4 Apr 2025 12:18:25 +0200 Subject: [PATCH] first commit --- README.md | 25 +++++++++++++++++++++++++ get_users.sh | 22 ++++++++++++++++++++++ mass_invit_matrix.sh | 19 +++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 README.md create mode 100755 get_users.sh create mode 100755 mass_invit_matrix.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..a34fa7c --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Scripts invitation + +## get_users.sh + +Récupère la liste des participants dans un salon. + +Pour récupurér l'id du salon: Element -> paramètres du salon -> paramètres avancés + +``` +./get_users.sh +Usage: ./get_users.sh +``` + +## mass_invit_matrix.sh + +Invitation d'une liste d'utilisateurs dans un salon + +Limitations : +- Il faut être admin sur le serveur +- Il faut que les invités soient sur le même serveur. Les autres sont à faire à la main + +``` +./mass_invit_matrix.sh +Usage: ./mass_invit_matrix.sh +``` diff --git a/get_users.sh b/get_users.sh new file mode 100755 index 0000000..c7484f3 --- /dev/null +++ b/get_users.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 " + exit 1 +fi + +TOKEN="$1" +ROOM_ID="$2" +MATRIX_SERVER="$3" +OUTPUT_FILE="users_list.txt" + +curl -X GET "${MATRIX_SERVER}/_matrix/client/r0/rooms/${ROOM_ID}/joined_members" \ + -H "Authorization: Bearer ${TOKEN}" \ + -H "Content-Type: application/json" \ + | jq -r '.joined | keys[]' > ${OUTPUT_FILE} + +if [ $? -eq 0 ]; then + echo "Liste des utilisateurs sauvegardée dans ${OUTPUT_FILE}" +else + echo "Échec de la récupération des utilisateurs." +fi diff --git a/mass_invit_matrix.sh b/mass_invit_matrix.sh new file mode 100755 index 0000000..0404dc3 --- /dev/null +++ b/mass_invit_matrix.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ "$#" -ne 4 ]; then + echo "Usage: $0 " + exit 1 +fi + +TOKEN="$1" +ROOM_ID="$2" +MATRIX_SERVER="$3" +INPUT_FILE="$4" + +while IFS= read -r line; do + request='{"user_id": "'"$line"'"}' + echo "Ajout de l'utilisateur : $line" + curl --header "Authorization: Bearer $TOKEN" \ + -X POST "${MATRIX_SERVER}/_synapse/admin/v1/join/${ROOM_ID}" \ + -d "$request" +done < "$INPUT_FILE"