NEWS
Ical Termine als Telegramnachricht
-
OK. Ich danke dir trotzdem für deine Mühe
-
@bahnuhr ich habe mir jetzt ein datenpunkt angelegt.
und dein script mit hilfe von google etwas geändert.
im Datenpunkt steht jetzt schon mal Klartext, aber ich glaube er macht nur den letzen eintrag da rein. wie kann ich das lösen?hier das skript:
var arr = getState('ical.0.data.table').val; for (x=1;x<=5;x++) { setState("ical.0.Termin", arr[x].date + " / " + arr[x].event); }
-
Keiner eine Idee?
-
@Nico-Adler sagte in Ical Termine als Telegramnachricht:
Keiner eine Idee?
Na, weil du den Wert 5 x zuweist.
Also erst 1 in die Var.
dann 2 in die Var.
....Und zum Schluss steht halt die 5 drin.
-
Und wie kann ich das ändern? Also im Log bei deinem Skript kommen ja die nächsten 5 Termine einzeln aufgelistet. Kann ich die in einen Datenpunkt fortlaufend übertragen?
-
@Nico-Adler sagte in Ical Termine als Telegramnachricht:
Und wie kann ich das ändern? Also im Log bei deinem Skript kommen ja die nächsten 5 Termine einzeln aufgelistet. Kann ich die in einen Datenpunkt fortlaufend übertragen?
z.B. so:
// Variablen var arr = getState('ical.0.data.table').val; var vUser = "Dieter"; var vText = ""; // Script for (x=1;x<=5;x++) { log (arr[x].date + " / " + arr[x].event); vText += (arr[x].date + " / " + arr[x].event +"\n"); } // telegram senden vText = "Die nächsten Termine:\n" + vText; log (vText); sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
Hättest du aber auch selber drauf kommen können, oder ?
-
Vielen Dank das funktioniert.
Ich wäre nicht selber drauf gekommen, weil ich leider davon keine Ahnung habe. -
So, habe jetzt auch die Tage eingebaut.
Probleme gibt es beim Jahreswechsel. Damit konnte ich aber nun erst einmal leben.// Variablen var arr = getState('ical.0.data.table').val; var vUser = "Dieter"; var AnzTage = 7; // wie viele Tage sollen ausgelesen werden var vText = ""; //aktuelles Datum aktJahr = new Date().getFullYear(); aktMon = new Date().getMonth()+1; aktTag = new Date().getDate(); d3 = getDateObject(aktJahr+"-"+aktMon+"-"+aktTag+" 02:00:00"); // Datum aus ical var arr = getState('ical.0.data.table').val; arr.forEach(myFunction); function myFunction(item, i) { // date aus Array ermitteln aMon = (arr[i].date).substring(3, 5); aTag = (arr[i].date).substring(0, 2); d2 = getDateObject(aktJahr+"-"+aMon+"-"+aTag); // Tage ermitteln var t = Date.parse(d2) - Date.parse(d3); var days = Math.floor( t/(1000*60*60*24) ); // wenn kleiner x Tage dann dazu fügen if (days <= AnzTage) { log (aTag + "." + aMon + "." + " " + arr[i].event +"\n"); vText += (aTag + "." + aMon + "." + " " + arr[i].event +"\n"); } } // telegram senden vText = "Die nächsten Termine:\n" + vText; log (vText); sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
mfg
Dieter -
@bahnuhr
mit diesen Script werden die Termine nicht gesendet -
@locito09 sagte in Ical Termine als Telegramnachricht:
@bahnuhr
mit diesen Script werden die Termine nicht gesendetDann hast du etwas falsch gemacht.
Das Script klappt einwandfrei.
-
@bahnuhr
was soll ich den falsch machen, Script habe ich hinzugefügt und nichts geändert da meine Instanz auch 0 ist.
Der erste Script läuft super, nur beim 2. geht's es nicht.Muss vielleicht beim Ical Adapter was eingestellt werden?
-
@locito09 sagte in Ical Termine als Telegramnachricht:
@bahnuhr
was soll ich den falsch machen, Script habe ich hinzugefügt und nichts geändert da meine Instanz auch 0 ist.
Der erste Script läuft super, nur beim 2. geht's es nicht.Muss vielleicht beim Ical Adapter was eingestellt werden?
heißt du auch:
var vUser = "Dieter";
Ansonsten muss natürlich der Name rein, an wen es gesendet werden soll.
Und dieser Name muss natürlich auch in telegram eingetragen sein. -
@bahnuhr
Den Namen habe ich komplett weggelassen,(beim ersten Script habe ich es auch so gemacht) ich bekomme auch eine Telegram Nachricht , aber nur mit dem Inhalt "Die nächsten Termine" danach ist leer -
@locito09 sagte in Ical Termine als Telegramnachricht:
@bahnuhr
Den Namen habe ich komplett weggelassen,(beim ersten Script habe ich es auch so gemacht) ich bekomme auch eine Telegram Nachricht , aber nur mit dem Inhalt "Die nächsten Termine" danach ist leerWenn du den Namen komplett weg lässt an wen soll er hier:
sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });etwas versenden ???
-
@locito09 sagte in Ical Termine als Telegramnachricht:
Script habe ich hinzugefügt und nichts geändert
Du hast doch nichts geändert ?!
-
Beim ersten Script sendet das Script an alle unser, beim 2. Script sendet das Script auch an alle unser, nur die Nachricht ist wie oben beschrieben unvollständig
-
@locito09 sagte in Ical Termine als Telegramnachricht:
Beim ersten Script sendet das Script an alle unser, beim 2. Script sendet das Script auch an alle unser, nur die Nachricht ist wie oben beschrieben unvollständig
So ein Quatsch.
Beim 2. sendet er an einen User.
Es sein denn, das hast du auch geändert.
Was du aber ja angeblich nicht gemacht hast !Tut mir leid aber da musst du jetzt alleine durch.
Erst behaupten nichts geändert zu haben.
Dann doch was geändert.Fazit:
Das Script läuft einwandfrei.
Versuche mal deine Änderungen zu verstehen, dann kommst du auch dahinter. -
@bahnuhr
Nein ich füge das Scrip nur ein und lösche Dieter.
Wie ich es beim 1. Script gemacht habe -
@bahnuhr
OK Danke für die Hilfe -
@locito09 sagte in Ical Termine als Telegramnachricht:
@bahnuhr
OK Danke für die HilfeSetz doch mal dein Script hier ein.