Timer für Telegram Chat-Bot mittels ioBroker programmieren

Aus LagoWiki

Version vom 07:47, 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: <b>' + differenzZeitString +'</b>',
            parse_mode: 'HTML'
        });
    }    
 });
Persönliche Werkzeuge
Lagopixel