Ich habe den LBS nun bereits ein paar Wochen im Einsatz und muss erstmal ein großes "Danke" für den super LBS loswerden.
Ich benutze den LBS unter anderem um den Abwesend-Status zu melden:
1. Nachricht "Abwesenheit starten" bei Tasterdruck
2. Nachricht "Abwesenheit gestartet" wenn Entropie = 0
Um diese Doppelbenachrichtigung zu vermeiden könnte man auf eine der Nachrichten verzichten oder ein Update machen. Nun zum Kern dieses Beitrags: Telegram liefert nach dem senden der Nachricht eine ID zurück. Mit dieser ID lässt sich der Text der Nachricht updaten. Vielleicht ist das für mehrere Leute interessant, sodass dies vielleicht Berücksichtigung im LBS findet. Hier mal ein Ausschnitt meines Test-Bausteins:
Code:
case 'update':
// replace newline text with real newlines
$text = str_replace('\n', "\n", $content);
// replace emoji codes with emojis
$text = preg_replace("#(\\\x[0-9A-Fa-f]{2})#e", "chr(hexdec('\\1'))", $text);
$data = array(
'chat_id' => $chatId,
'message_id' => $messageId,
'text' => $text,
// 'parse_mode' => 'Markdown'
'parse_mode' => 'HTML'
);
if ($kbd !== FALSE)
$data['reply_markup'] = $kbd;
$result = Request::editMessageText($data);
if ($result->isOk()) {
logging($id, 'Telegram text message updated: ' . $content . ' (' . $chatId . ')');
setLogicLinkAusgang($id, 1, 'OK');
$message_id = json_decode($result->getResult());
setLogicLinkAusgang($id, 2, $message_id->message_id);
} else {
logging($id, 'Failed to send Telegram text message: ' . $content . ' (' . $chatId . ')', true);
setLogicLinkAusgang($id, 1, 'ERROR');
setLogicLinkAusgang($id, 2, $result->printError());
}
break;





Einen Kommentar schreiben: