Better request format, expect only JSON reply

This commit is contained in:
2019-08-04 21:31:55 +05:30
parent a91829d25c
commit f9ab5776d4

View File

@@ -2,21 +2,57 @@
const request = require('request') const request = require('request')
const fs = require('fs') const fs = require('fs')
const path = require('path') const path = require('path')
//const
const token = JSON.parse( fs.readFileSync('api-token.json')).token 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}/` const base = `https://api.telegram.org/bot${token}/`
console.log(`Token: ${token}`) console.log(`Token: ${token}`)
request(`${base}getUpdates`,(err,res,body)=>{
if(err){ let updateOffset=-1
throw err; let upDateOngoing=false
}
// If response malformed then move into next
let contents = JSON.parse(res.body||{'ok':false})
if(!contents.ok){ setInterval(()=>{
throw new Error("Not Ok")
} if(!upDateOngoing){
console.log(`${JSON.stringify(contents.result)}`) 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 )