thcovid
Version:
get real time official update of thailand covid19 situation
44 lines (42 loc) • 1.65 kB
JavaScript
const axios = require('axios');
const cheerio = require('cheerio');
const handleError = require('node-cli-handle-error');
const chalk = require('chalk');
const yellow = chalk.yellow;
const red = chalk.red;
module.exports = async () => {
var dat = {};
try {
const r = await axios.get('https://covid19.th-stat.com/th');
const $ = await cheerio.load(r.data)
card = $('div.card-default').text()
card = card.split('\n');
var infect = card[9];
var infectToday = card[12].split(' ')[1].split(')')[0];
var recover = card[18];
var recoverToday = card[20].split(' ')[1].split(')')[0];
var active = card[26];
var activeToday = card[28].split(' ')[1].split(')')[0];
var dead = card[34];
var deadToday = card[36].split(' ')[1].split(')')[0];
time = $('div.block-title-page>h2').text()
var updateTime = time.split(" : ")[1];
} catch (err) {
handleError('API is down', err, false);
}
print = () => {
console.log(yellow("TODAY : "))
console.log(`Infected cases : ${red(infectToday)}`)
console.log(`Recovered cases : ${red(recoverToday)}`)
console.log(`Dead : ${red(deadToday)}`)
console.log(`Active cases : ${red(activeToday)}`)
console.log();
console.log(yellow("TOTAL : "))
console.log(`Infected cases : ${red(infect)}`)
console.log(`Recovered cases : ${red(recover)}`)
console.log(`Dead : ${red(dead)}`)
console.log(`Active cases : ${red(active)}`)
console.log();
}
return print;
}