Hallo und Guten Abend in die Runde,
ich frickel mich grad mal wieder durch ein Bash-Skript welches mir ermöglicht mit Hilfe von curl eine Nachricht an meinen synapse-Server (Matrix Protokoll) zu senden. Damit möchte meine eigene Pushover Alternative ohne externen Dienstleister realisieren. Synapse läuft und ich schaffe es auch mit dem folgenden Terminal-Befehl eine Nachricht zu senden:
curl 'https://10.10.10.253:8448/_matrix/client/r0/rooms/dbdfkvbfdMaNVHJGZnCXPK:test.test-vm.ltd/send/m.room.message/15447305007616?access_token=iBrZXkKMDAxMGNpZCBnZW4gPSAxCjAwMmJjaWQgdXNlcl9pZCA9IEBkZXNrdG9wOm15Lm1hdHJpeC1waS5tbAowMDE2Y2lkIHR5cGUgPSBhY2Nlc3MKMDAyMWNpZCBub25jZSA9IERnSFAxbjFjLnRMa0w6M00KMDAyZnNpZ25hdHVyZSCsv_MXu9-NeeBF77gcmOzosavbtBr_k' -X PUT --data '{"msgtype":"m.text","body":"Hallo Welt"}' -k
Nun versuche ich ein Bash-Skript zu erstellen, mit dem ich einfacher arbeiten kann um das Skript in verschiedene Anwendungen zu integrieren. Soweit bin ich gekommen:
#!/bin/bash
#IP-Adresse Matrix-Server:
ip="10.10.10.253"
#Port Matrix-Server:
port="8448"
#ROOM-ID:
roomid="dbdfkvbfdMaNVHJGZnCXPK:test.test-vm.ltd"
#Access-Token:
accesstoken="iBrZXkKMDAxMGNpZCBnZW4gPSAxCjAwMmJjaWQgdXNlcl9pZCA9IEBkZXNrdG9wOm15Lm1hdHJpeC1waS5tbAowMDE2Y2lkIHR5cGUgPSBhY2Nlc3MKMDAyMWNpZCBub25jZSA9IERnSFAxbjFjLnRMa0w6M00KMDAyZnNpZ25hdHVyZSCsv_MXu9-NeeBF77gcmOzosavbtBr_k"
#eindeutige Message-ID erzeugen:
messageid=$(date '+%Y%m%d%H%M%N')
#Nachricht:
nachricht="Hallo Welt"
#zusammengesetzter String:
command="https://$ip:$port/_matrix/client/r0/rooms/$roomid/m.room.message/$messageid?access_token=$accesstoken -X PUT --data {"msgtype":"m.text","body":$nachricht}"
#Nachricht verschicken:
curl $command -k
exit 0
Alles anzeigen
Leider wird der String für das Versenden der Nachricht mit curl irgendwo zerpflückt. Ich habe mit div ' und " versucht die Bereiche zusammenzufügen, finde aber keine funktionierende Lösung. Kann bitte einer der Skriptprofis mal drüber schauen und mir helfen die Variable $command richtig zusammenzusetzen??
Vielen Dank und Liebe Grüße
Micky