Seite 1 von 1

Meldungen per Telegram melden

Verfasst: Mo 27. Mai 2019, 22:18
von dl8ny
Hallo,

ich nutze Telegram und wollte die Meldungen per Telegram bekommen, damit ich nicht noch einen Messenger auf dem iPhone habe. Nach einigem Test und Experimentieren funktioniert es.

Die Einstellungen in der user.config.php werden die Einstellungen die für Pushover vorgesehen sind auch für Telegram benutzt, also $API_Token = bot Nr.,
$User_Key[1] = chatID. Wer das jetzt übernehmen möchte und keine Erfahrungen mit Telegram hat, bitte erst googlen wie man einen Bot erstellt und wie man an die chatID kommt.

Die Funktion "send Message" muss geändert werden, hier der Code (einige Zeilen bleiben erhalten):


function send_message($APP_ID, $UserToken, $Message) {
Global $funktionen;

$url = 'https://api.telegram.org/bot'.$APP_ID.'/sendMessage';
$fields = array(
'chat_id' => urlencode($UserToken),
'text' => urlencode($Message)
);

foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);

// Diese Zeilen sind von der alten Funktion!!

if (curl_errno($ch)) {
$funktionen->log_schreiben("Curl Fehler! Daten nicht zur entfernten InfluxDB gesendet! Curl ErrNo. ".curl_errno($ch)," ",5);
return false;
}
if ($rc_info["http_code"] == 200 or $rc_info["http_code"] == 204) {
$funktionen->log_schreiben("Daten zur InfluxDB gesendet. ","* ",9);
}
elseif ($rc_info["http_code"] == 401) {
$funktionen->log_schreiben("Influx UserID oder Kennwort ist falsch.","* ",5);
return false;
}
curl_close($ch);

return true;
}


Viel Spaß damit

Klaus

Re: Meldungen per Telegram melden

Verfasst: Di 7. Apr 2020, 09:49
von jklasen
Hi,

würde auch gern Telegram einsetzen wollen... Bot einrichten u.s.w bekomme ich hin.. habe schon einige Bots am laufen...
ABER
wo finde ich denn die "Die Funktion "send Message" " ?

Grüße,

Jens