@4-Real said in Tankerkönig und Telegram:
Wie kann ich jetzt ändern, das der Preis im Telegram als Dick / Fett angezeigt wird?
Das geht entweder mittel HTML :
output += "<b>Aktuelle Spritpreise:</b>\n\n"
oder mit der Markdown Syntax
**this is in bold** and __so is this__
wichtig ist das du beim sendTo den "parse_mode" passend einstellst. API.
Übrigens du kannst mittels Schleifen und Arrays das ganze Skript deutlich kürzer fassen. Hier mal als Beispiel mein Script.
Dort wird nicht nur einfach jeder Eintrag genommen der im tankerkoenig Adapter steht sonder auch noch nach dem Preis sortiert.
on({ id: 'telegram.0.communicate.request', change: 'any' }, function (obj) {
var stateval = getState('telegram.0.communicate.request').val;
if (stateval.match(/tanken/i)) {
var user_to_send = stateval.substring(1, stateval.indexOf("]"));
var command = stateval.substring(stateval.indexOf("]") + 1, stateval.length).toLowerCase();
var output = "";
var list = new Array();
for (var i = 0; i < 10; i++) {
if (getState("tankerkoenig.0.stations." + i + ".status").val == "open") {
list.push(new Array(getState("tankerkoenig.0.stations." + i + ".name").val,
getState("tankerkoenig.0.stations." + i + ".e5.short").val));
}
}
list = list.sort(function (a, b) {
return a[1] - b[1];
});
if (list.length == 0) {
output += "Alle Tankstellen in der Liste sind aktuell geschlossen";
} else {
output += "<b>Aktuelle Spritpreise:</b>\n\n"
list.forEach(function (item) {
output += item[0] + " : " + item[1] + "€\n";
});
}
sendTo('telegram', {
user: user_to_send,
text: output,
parse_mode: "HTML"
});
}
});
Gruß
Arne