Timer für Telegram Chat-Bot mittels ioBroker programmieren
Aus LagoWiki
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' }); } });