From 6ff18be6f163f39fbb6320d3d7b5f8a8a7f082fb Mon Sep 17 00:00:00 2001 From: Oxbian Date: Sat, 6 Jul 2024 22:48:22 +0200 Subject: ADD: user can now specify ROOM-ID for message --- README.md | 14 +++++++------- matrix-sender | 31 +++++++++++++++++++++++++------ matrix-sender.1 | 12 ++++++------ 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index add85d0..c20074a 100644 --- a/README.md +++ b/README.md @@ -24,36 +24,36 @@ First you need to edit the script with your homeserver url & the roomID After this you need to get your token ```sh -./matrix-sender -t +matrix-sender -t ``` Once all is setup, you can send messages: - Simple message ```sh -./matrix-sender -s +matrix-sender -s {} ``` - or an HTML formatted message ```sh -./matrix-sender -html +matrix-sender -html {} ``` For help you can use: ```sh -./matrix-sender -h +matrix-sender -h ``` or ```sh -./matrix-sender --help +matrix-sender --help ``` **Example** ```bash -./matrix-sender -s 'Hello world!' +matrix-sender -s 'Hello world!' ``` ```bash -./matrix-sender -html '

t e s t

' +matrix-sender -html '

t e s t

' ``` ## Contributing diff --git a/matrix-sender b/matrix-sender index dca13b1..78ce634 100755 --- a/matrix-sender +++ b/matrix-sender @@ -59,9 +59,9 @@ get_token() { } # Send a message -# usage: ./matrix.sh -s -# usage: ./matrix.sh -html -# send_message +# usage: ./matrix.sh -s {} +# usage: ./matrix.sh -html {} +# send_message {} send_message() { check_var check_token @@ -85,8 +85,8 @@ help() { printf "Actions:\n" printf " -h, --help show this menu\n" printf " -t get the token of the account and save it\n" - printf " -s send a message\n" - printf " -html send an html message\n" + printf " -s {} send a message, if room id is set, the message will be send to the selected room\n" + printf " -html {} send an html message, if room id is set, the message will be send to the selected room\n" } # Main @@ -116,7 +116,25 @@ case $1 in ;; esac -MESSAGE=$* +# Vérification du room-id et du message +if [ $# -eq 2 ]; then + ROOM_ID="$1" + MESSAGE="$2" + + # Validation du format du room-id + if ! echo "$ROOM_ID" | grep -Eq '^.?![A-Za-z0-9+/]+:[^:]+.?$'; then + error "Invalid room-id format." + fi + + MATRIX_ROOM_ID=$ROOM_ID + +elif [ $# -eq 1 ]; then + MESSAGE="$1" + +else + error "Message not set, usage:\n$0 -s {} \n$0 -html {} " +fi + case $action in send) send_message "$MESSAGE" @@ -126,3 +144,4 @@ html) send_message "$MESSAGE" ;; esac + diff --git a/matrix-sender.1 b/matrix-sender.1 index 9a0b5ab..11e28a2 100644 --- a/matrix-sender.1 +++ b/matrix-sender.1 @@ -1,10 +1,10 @@ .\" Manpage for matrix-sender. .\" Contact oxbian.noch@simplelogin.com to correct errors or typos. -.TH man 8 "08 October 2023" "1.0" "matrix-sender man page" +.TH man 8 "06 July 2024" "1.1" "matrix-sender man page" .SH NAME .B matrix-sender -- send an unencrypted message to a matrix room +- send an unencrypted message to a matrix room via CLI .SH SYNOPSIS .B matrix-sender [OPTIONS] @@ -21,11 +21,11 @@ Prints help .IP "-t " Get token account token, needed for sending messages -.IP "-s " -Send a message to a matrix room +.IP "-s {} " +Send a message to a matrix room, room can be specified -.IP "-html " -Send a HTML formatted message to a matrix room +.IP "-html {} " +Send a HTML formatted message to a matrix room, room can be specified .SH EXAMPLES .IP "matrix-sender -s 'Hello World!' -- cgit v1.2.3