Alamierungen als Mp3 Datei in Telegramm senden

Hilfe & Support rund im BosMon. Posting ist ohne Anmeldung erlaubt
Antworten
MrWolf
Beiträge: 1
Registriert: 17. Dez 2023, 23:47

Alamierungen als Mp3 Datei in Telegramm senden

Beitrag 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.
bosmon
Beiträge: 3971
Registriert: 28. Dez 2009, 18:16

Re: Alamierungen als Mp3 Datei in Telegramm senden

Beitrag 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
BosMon Dokumentation: https://www.bosmon.de/doc
BosMon Support: support@bosmon.de
wolly79

Re: Alamierungen als Mp3 Datei in Telegramm senden

Beitrag 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.
Antworten