Meldungen per Telegram melden
Verfasst: Mo 27. Mai 2019, 22:18
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
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