Timer für Telegram Chat-Bot mittels ioBroker programmieren

Aus LagoWiki

Version vom 07:45, 31. Jul. 2018 von Gabriel (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Wenn bereits ein Bot für Telegram eingerichtet ist, kann man mit diesem Skript die Differenz von der aktuellen Zeit und dem gespeicherten Zeitstempel in der Variable 'javascript.0.TestBot.ZeitZufall2' ausgeben.


on({id: 'telegram.2.communicate.request', change: 'any'}, function (obj) {
   var stateval = getState('telegram.2.communicate.request').val;              // Statevalue in Variable schreiben
   var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
   var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren

   console.log ("Befehl: "+  befehl);
   
   var zufallTime = new Date (getState("javascript.0.TestBot.ZeitZufall2"/*ZeitZufall2*/).val);
   var jetzt = new Date();
   
   console.log ("Zeit Zufall: " + zufallTime.getTime());
   console.log ("Zeit Jetzt: " + jetzt.getTime());
   
   var differenz = new Date(jetzt.getTime() - zufallTime.getTime());
   
   //console.log ("Differenz: " + (jetzt.getTime() - zufallTime.getTime()));
   console.log ("Differenz: " + differenz.getHours() + ":" + differenz.getMinutes() + ":" + differenz.getSeconds() );
   
   //var differenzZeitString = differenz.getHours() + ":" + differenz.getMinutes() + ":" + differenz.getSeconds();
     var differenzZeitString = differenz.toTimeString().slice(1,8);

    if (befehl.search(/(?=.*(\bZEIT\b)).+/ig) != -1) {
       sendTo('telegram.2', {
           user: benutzer,
           text: 'Die Zeit seit der letzten Zufallszahl ist: ' + differenzZeitString +'',
           parse_mode: 'HTML'
       });
   }    
});
Persönliche Werkzeuge
Lagopixel