From f9ab5776d41ee0f1095f8e4fc3c94e06c15542b4 Mon Sep 17 00:00:00 2001 From: Christopher Rose Date: Sun, 4 Aug 2019 21:31:55 +0530 Subject: [PATCH] Better request format, expect only JSON reply --- index.js | 62 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index 4eba381..cb956c4 100644 --- a/index.js +++ b/index.js @@ -2,21 +2,57 @@ const request = require('request') const fs = require('fs') const path = require('path') - - +//const const token = JSON.parse( fs.readFileSync('api-token.json')).token +let parameters = JSON.parse(fs.readFileSync('default-parameters.json')) + const base = `https://api.telegram.org/bot${token}/` console.log(`Token: ${token}`) -request(`${base}getUpdates`,(err,res,body)=>{ - if(err){ - throw err; - } - // If response malformed then move into next - let contents = JSON.parse(res.body||{'ok':false}) - if(!contents.ok){ - throw new Error("Not Ok") - } - console.log(`${JSON.stringify(contents.result)}`) -}) \ No newline at end of file + +let updateOffset=-1 +let upDateOngoing=false + + + +setInterval(()=>{ + + if(!upDateOngoing){ + upDateOngoing=true; + request.post( + { + "url":`${base}getUpdates`,"json":true,"body": parameters + }, + (err,res,body)=>{ + // Checking response + if(err){ + throw err; + } + //console.log(res.body+`${typeof(res.body)}`) + + let contents = res.body||{'ok':false} + if(!contents.ok){ + console.log(contents) + throw new Error("Not Ok") + } + // contents - Now work on response + if(contents.result.length>0){ + console.log(`Update:${JSON.stringify(contents.result)}`) + // Ready to work on + contents.result.forEach(e=>{ + console.log(e.update_id) + + }) + + + } + else{ + console.log("Empty contents") + } + + // Allow function to run in next interval since complete + upDateOngoing=false; + }) + } +},1000 ) \ No newline at end of file