sqlite3 = require "lsqlite3" db = sqlite3.open('covid_deaths.db') Write([[ Covid Deaths ]]) local query = [[ SELECT day, last_update, sum_deaths FROM covid_deaths ORDER BY day DESC LIMIT 2 ]] local rows = {} for v in db:nrows(query) do rows[#rows + 1] = v end function format_int(number) -- taken from https://stackoverflow.com/questions/10989788/format-integer-in-lua#10992898. thanks! local i, j, minus, int, fraction = tostring(number):find('([-]?)(%d+)([.]?%d*)') -- reverse the int-string and append a six-per-em to all blocks of 3 digits thinsp = " " int = int:reverse():gsub("(%d%d%d)", "%1" .. thinsp:reverse()) -- reverse the int-string back remove an optional six-per-em and put the -- optional minus and fractional part back return minus .. int:reverse():gsub("^ ", "") .. fraction end local deaths_yesterday = rows[1]["sum_deaths"] - rows[2]["sum_deaths"] local description = format_int(rows[1]["sum_deaths"]) .. ' people died from Covid-19. ' .. format_int(deaths_yesterday) .. ' died within the last day.' Write('

' .. description .. ' Last update: ' .. rows[1]["last_update"] .. ' UTC

') Write('') for i=1,rows[1]["sum_deaths"] do Write('🖤') if i > 0 and i < rows[1]["sum_deaths"] and i % 100 == 0 then Write('') end end Write('') Write([[ ]])