Update heatmap embed to show min and max vals
This commit is contained in:
parent
51924b7f14
commit
6adf18008a
|
@ -6,6 +6,7 @@ import {
|
||||||
import config from '../../config.ts';
|
import config from '../../config.ts';
|
||||||
import { failColor, infoColor2 } from '../commandUtils.ts';
|
import { failColor, infoColor2 } from '../commandUtils.ts';
|
||||||
import utils from '../utils.ts';
|
import utils from '../utils.ts';
|
||||||
|
import intervals from '../intervals.ts';
|
||||||
|
|
||||||
export const heatmap = async (message: DiscordenoMessage) => {
|
export const heatmap = async (message: DiscordenoMessage) => {
|
||||||
// Light telemetry to see how many times a command is being run
|
// 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({
|
const m = await message.send({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
title: 'Roll Heatmap',
|
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,
|
color: infoColor2,
|
||||||
image: {
|
image: {
|
||||||
url: `${config.api.publicDomain}api/heatmap.png`,
|
url: `${config.api.publicDomain}api/heatmap.png`,
|
||||||
},
|
},
|
||||||
}],
|
}],
|
||||||
}).catch((e) => utils.commonLoggers.messageSendError('heatmap.ts:21', message, e));
|
}).catch((e) => utils.commonLoggers.messageSendError('heatmap.ts:21', message, e));
|
||||||
|
|
||||||
console.log(m);
|
|
||||||
} else {
|
} else {
|
||||||
message.send({
|
message.send({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|
|
@ -150,6 +150,8 @@ const hourPixels: Array<Array<number>> = [
|
||||||
];
|
];
|
||||||
// updateHeatmap() returns nothing, creates new heatmap.png
|
// updateHeatmap() returns nothing, creates new heatmap.png
|
||||||
// Updates the heatmap image with latest data from the db
|
// Updates the heatmap image with latest data from the db
|
||||||
|
let minRollCnt: number;
|
||||||
|
let maxRollCnt: number;
|
||||||
const updateHeatmapPng = async () => {
|
const updateHeatmapPng = async () => {
|
||||||
const baseHeatmap = Deno.readFileSync('./src/endpoints/gets/heatmap-base.png');
|
const baseHeatmap = Deno.readFileSync('./src/endpoints/gets/heatmap-base.png');
|
||||||
const heatmap = await is.decode(baseHeatmap);
|
const heatmap = await is.decode(baseHeatmap);
|
||||||
|
@ -159,8 +161,8 @@ const updateHeatmapPng = async () => {
|
||||||
// Get latest data from DB
|
// 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));
|
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;
|
minRollCnt = Infinity;
|
||||||
let maxRollCnt = 0;
|
maxRollCnt = 0;
|
||||||
// determine min and max values
|
// determine min and max values
|
||||||
for (const hour of heatmapData) {
|
for (const hour of heatmapData) {
|
||||||
for (const day of weekDays) {
|
for (const day of weekDays) {
|
||||||
|
@ -202,4 +204,6 @@ export default {
|
||||||
updateListStatistics,
|
updateListStatistics,
|
||||||
updateHourlyRates,
|
updateHourlyRates,
|
||||||
updateHeatmapPng,
|
updateHeatmapPng,
|
||||||
|
getMinRollCnt: () => minRollCnt,
|
||||||
|
getMaxRollCnt: () => maxRollCnt,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue