diff --git a/src/commands/heatmap.ts b/src/commands/heatmap.ts index a7e11a5..ff68ee2 100644 --- a/src/commands/heatmap.ts +++ b/src/commands/heatmap.ts @@ -6,6 +6,7 @@ import { import config from '../../config.ts'; import { failColor, infoColor2 } from '../commandUtils.ts'; import utils from '../utils.ts'; +import intervals from '../intervals.ts'; export const heatmap = async (message: DiscordenoMessage) => { // Light telemetry to see how many times a command is being run @@ -15,14 +16,17 @@ export const heatmap = async (message: DiscordenoMessage) => { const m = await message.send({ embeds: [{ title: 'Roll Heatmap', + description: `Least Rolls: ${intervals.getMinRollCnt()} +Most Rolls: ${intervals.getMaxRollCnt()}`, + footer: { + text: 'Data is shown in US Eastern Time. | This heatmap uses data starting 6/26/2022.', + }, color: infoColor2, image: { url: `${config.api.publicDomain}api/heatmap.png`, }, }], }).catch((e) => utils.commonLoggers.messageSendError('heatmap.ts:21', message, e)); - - console.log(m); } else { message.send({ embeds: [{ diff --git a/src/intervals.ts b/src/intervals.ts index 2e3d907..51522ba 100644 --- a/src/intervals.ts +++ b/src/intervals.ts @@ -150,6 +150,8 @@ const hourPixels: Array> = [ ]; // updateHeatmap() returns nothing, creates new heatmap.png // Updates the heatmap image with latest data from the db +let minRollCnt: number; +let maxRollCnt: number; const updateHeatmapPng = async () => { const baseHeatmap = Deno.readFileSync('./src/endpoints/gets/heatmap-base.png'); const heatmap = await is.decode(baseHeatmap); @@ -159,8 +161,8 @@ const updateHeatmapPng = async () => { // Get latest data from DB const heatmapData = await dbClient.query('SELECT * FROM roll_time_heatmap ORDER BY hour;').catch((e) => utils.commonLoggers.dbError('intervals.ts:148', 'query', e)); - let minRollCnt = Infinity; - let maxRollCnt = 0; + minRollCnt = Infinity; + maxRollCnt = 0; // determine min and max values for (const hour of heatmapData) { for (const day of weekDays) { @@ -202,4 +204,6 @@ export default { updateListStatistics, updateHourlyRates, updateHeatmapPng, + getMinRollCnt: () => minRollCnt, + getMaxRollCnt: () => maxRollCnt, };