Seite 1 von 1

Alamierungen als Mp3 Datei in Telegramm senden

Verfasst: 26. Dez 2023, 16:39
von MrWolf
Grüße zusammen ich möchte gerne Alamierungen als Mp3 Datei in Telegramm senden und benötige da mal eure hilfe. Weiß hier jemand wie das funktioniert? Bitte um Hilfe.

Re: Alamierungen als Mp3 Datei in Telegramm senden

Verfasst: 30. Dez 2023, 15:01
von bosmon
Hallo,

mit BosMon-eigenen Boardmitteln ist das nicht möglich, aber du kannst dir das über ein externes Skript "basteln", welches von BosMon als Aktion in einem Ereignis ausgeführt wird.

Beste Grüße
Thimo Eichstädt

Re: Alamierungen als Mp3 Datei in Telegramm senden

Verfasst: 24. Jan 2024, 00:35
von wolly79
Um mit der Telegram-API zu kommunizieren, benutze ich curl.

https://developer.zendesk.com/documenta ... lling-curl

In BosMon in den Telegrammereignissen unter Aktionen vor "Telegram Nachricht senden" noch eine Aktion einfügen "Audio aufnehmen".

Als Pfad habe ich dort C:\Users\(Benutzername)\Documents\%telegramm.zeit2%.wav gesetzt, retrigger den Haken rein (falls mehrere Alarmierungen auf einmal kommen) starten nach 0 und Aufnahmedauer 45 Sekunden. Unten drunter "Befehl nach Aufnahme ausführen" und "im Hintergrund ausführen" anhaken. Als Befehl habe ich dann eine Batch-Datei erstellt (C:\Users\(Benutzername)\Documents\send.bat %telegramm.zeit2%.wav)

Inhalt der send.bat:

Code: Alles auswählen

@echo off
c:
cd C:\Users\(Benutzername)\Documents\
curl -X  POST "https://api.telegram.org/bot(hierAPIKeyeinfügen) /sendAudio" -F chat_id=-000000000 -F audio="@%1" -F performer="Sprachnachricht"
del %1
Wie finde ich die Chat-ID?
  • Telegram Bot in bosMon beenden (sonst funkt der dazwischen)
  • im gewünschten Chat eine Nachricht schreiben
  • in der Eingabeaufforderung folgenden Befehl eingeben:

Code: Alles auswählen

curl -X  POST "https://api.telegram.org/bot(hierAPIKeyeinfügen)/getUpdates"
Die Antwort sieht ungefähr so aus:

Code: Alles auswählen

{"ok":true,"result":[{"update_id":000000000,
"message":{"message_id":00000,"from":{"id":000000000,"is_bot":false,"first_name":"Hans","username":"hansmuff","language_code":"de"},"chat":{"id":-000000000,"title":"Name des Chats","type":"group","all_members_are_administrators":true},"date":1706051872,"text":"Der Text den du geschickt hast"}}]}
Wichtig ist die "id" nach "chat" und sie muss mit dem Minuszeichen davor genau so in die send.bat.

Durch den Dateinamen %telegramm.zeit2%.wav wurde sichergestellt, das die Datei einen eindeutigen Namen hat. Zu testzwecken kann man in der .bat das del am Ende natürlich weg nehmen, dann werden die Dateien nicht gelöscht. Zu 98% funktioniert das Script, ab und zu kommt von Telegram mal ein Fehler zurück (Server error) oder sowas.