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.