Compare commits

...

2 Commits

Author SHA1 Message Date
James Shiffer
393bc4f8ca Fix imports 2023-10-08 19:20:00 -07:00
James Shiffer
49360a7c5b Better date formatting in logs 2023-10-08 19:16:12 -07:00
5 changed files with 29 additions and 18 deletions

View File

@ -13,10 +13,9 @@ import {
TextChannel, TextChannel,
User User
} from 'discord.js'; } from 'discord.js';
import { logError, logInfo } from '../logging';
import { import {
db, db,
logInfo,
logError,
openDb, openDb,
reactionEmojis, reactionEmojis,
recordReaction, recordReaction,
@ -86,7 +85,7 @@ async function scheduleRandomMessage(firstTime = false)
const timeoutMins = Math.random() * 360 + 120; const timeoutMins = Math.random() * 360 + 120;
const scheduledTime = new Date(); const scheduledTime = new Date();
scheduledTime.setMinutes(scheduledTime.getMinutes() + timeoutMins); scheduledTime.setMinutes(scheduledTime.getMinutes() + timeoutMins);
logInfo(`[bot] Next MOTD: ${scheduledTime}`); logInfo(`[bot] Next MOTD: ${scheduledTime.toLocaleTimeString()}`);
setTimeout(scheduleRandomMessage, timeoutMins * 60 * 1000); setTimeout(scheduleRandomMessage, timeoutMins * 60 * 1000);
} }

View File

@ -5,7 +5,8 @@
*/ */
import { Client, Events, GatewayIntentBits, IntentsBitField, Partials } from 'discord.js'; import { Client, Events, GatewayIntentBits, IntentsBitField, Partials } from 'discord.js';
import { db, logInfo, openDb, reactionEmojis, sync } from './util'; import { logInfo } from '../logging';
import { db, openDb, reactionEmojis, sync } from './util';
const client = new Client({ const client = new Client({
intents: [GatewayIntentBits.MessageContent, IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages], intents: [GatewayIntentBits.MessageContent, IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages],

View File

@ -9,6 +9,7 @@ import { get as httpGet } from 'https';
import { Database, open } from 'sqlite'; import { Database, open } from 'sqlite';
import { Database as Database3 } from 'sqlite3'; import { Database as Database3 } from 'sqlite3';
import 'dotenv/config'; import 'dotenv/config';
import { logError, logInfo, logWarn } from '../logging';
import { ScoreboardMessageRow } from '../models'; import { ScoreboardMessageRow } from '../models';
@ -16,18 +17,6 @@ const reactionEmojis: string[] = process.env.REACTIONS.split(',');
let db: Database = null; let db: Database = null;
function logInfo(...data) {
console.log(`[${new Date()}] ${data.join(' ')}`);
}
function logWarn(...data) {
console.warn(`[${new Date()}] ${data.join(' ')}`);
}
function logError(...data) {
console.error(`[${new Date()}] ${data.join(' ')}`);
}
async function openDb() { async function openDb() {
db = await open({ db = await open({
filename: 'db.sqlite', filename: 'db.sqlite',
@ -174,4 +163,4 @@ async function sync(guilds: GuildManager) {
} }
} }
export { db, clearDb, logError, logInfo, logWarn, openDb, reactionEmojis, recordReaction, sync }; export { db, clearDb, openDb, reactionEmojis, recordReaction, sync };

22
logging.ts Normal file
View File

@ -0,0 +1,22 @@
/**
* logging.ts
* Standardized logging helper functions
*/
function curDateStr() {
return new Date().toJSON().replace('T', ' ').replace('Z', '');
}
function logInfo(...data) {
console.log(`[${curDateStr()}] ${data.join(' ')}`);
}
function logWarn(...data) {
console.warn(`[${curDateStr()}] ${data.join(' ')}`);
}
function logError(...data) {
console.error(`[${curDateStr()}] ${data.join(' ')}`);
}
export { logInfo, logWarn, logError };

View File

@ -7,8 +7,8 @@ import { Database as Database3 } from 'sqlite3';
import { Database, open } from 'sqlite'; import { Database, open } from 'sqlite';
import express = require('express'); import express = require('express');
import 'dotenv/config'; import 'dotenv/config';
import { logInfo } from './logging';
import { ScoreboardMessageRow, ScoreboardUserRow } from './models'; import { ScoreboardMessageRow, ScoreboardUserRow } from './models';
import { logInfo } from './discord/util';
const app = express(); const app = express();
app.use(express.static('public')); app.use(express.static('public'));