Files
jack-red/index.js

63 lines
1.8 KiB
JavaScript

// TOREAD: https://core.telegram.org/bots/api
const request = require('request')
const fs = require('fs')
const path = require('path')
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}`)
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
if(parameters.offset===null){
parameters.offset = contents[0].update_id + 1
}
contents.result.forEach(e=>{
if(e.update_id + 1 > parameters.offset)
{
parameters.offset = e.update_id + 1
}
console.log(e.update_id)
})
}
else{
console.log("Polling Timed out, empty.")
}
// Allow function to run in next interval since complete
upDateOngoing=false;
})
}
},1000 )