Compare commits

..

No commits in common. "36f44f4b4190bae58854610264365d9e4c61802a" and "e2658c41e5aaeb0a33f435099af2e14f85931688" have entirely different histories.

5 changed files with 15 additions and 21 deletions

View File

@ -5,4 +5,5 @@ WORKDIR /usr/src/app
COPY package.json ./ COPY package.json ./
RUN npm install RUN npm install
COPY . . COPY . .
CMD ["/bin/sh", "-c", "node main.js 2>&1 > /logs/$(date +%Y-%m-%d_%H-%M-%S).txt"] # CMD ["/bin/sh", "-c", "node main.js 2> /logs/silvanus.err 1> /logs/silvanus.log"]
CMD ["/bin/sh", "-c", "node main.js 2> /logs/error/$(date +%Y-%m-%d_%H-%M-%S).txt 1> /logs/status/$(date +%Y-%m-%d_%H-%M-%S).txt"]

24
TODO.md
View File

@ -1,3 +1,10 @@
## In Progress
☑ Switch `/setup` to ask for the tree and leaderboard channels
* Switch `/compare` to check for newer trees and leaderboards when run **and** on every refresh
## Future Ideas
* Go through and comment the code
## Variable Structures ## Variable Structures
guildInfo = { guildInfo = {
@ -14,18 +21,7 @@ guildInfo = {
reminderOptIn: 0, reminderOptIn: 0,
} }
## New Table Planning ## Expected Behaviors
Table: `silvanus`.timers
id | INT | NOT NULL | AUTO INCREMENT | PRIMARY KEY * Run `/compare` before `/setup`: `/compare` will search the current channel for tree and leaderboard messages, then create a comparison embed. If it can't find `/tree` or `/top trees` messages, it'll return an error saying as much.
status | VARCHAR(10) | NOT NULL | DEFAULT "WAITING" * Run `/compare` after `/setup`: ``/compare` will search the current channel for tree and leaderboard messages, then create a comparison embed. If it can't find `/tree` or `/top trees` messages, it'll just use old data silently (odds are `/compare` is being run from another channel, that's fine)
dc_timecode | INT | NOT NULL | Discord timecode
guild_id | INT UNSIGNED | NOT NULL | Discord guild ID for referencing `silvanus`.guildInfo
Table: `silvanus`.auto_role_status
id | INT | NOT NULL | AUTO INCREMENT | PRIMARY KEY
user_id | INT UNSIGNED | NOT NULL
guild_id | INT UNSIGNED | NOT NULL
status | VARCHAR(10) | NOT NULL | DEFAULT "REMOVED" | OPTION: {"REMOVED", "ADDED"}

View File

@ -28,7 +28,7 @@ const fn = require('./modules/functions.js');
const strings = require('./data/strings.json'); const strings = require('./data/strings.json');
const dbfn = require('./modules/dbfn.js'); const dbfn = require('./modules/dbfn.js');
const { GuildInfo } = require('./modules/CustomClasses.js'); const { GuildInfo } = require('./modules/CustomClasses.js');
const isDev = process.env.DEBUG === "true"; const isDev = process.env.DEBUG;
let statusChannel; let statusChannel;
client.once('ready', async () => { client.once('ready', async () => {
@ -52,8 +52,6 @@ client.once('ready', async () => {
fn.sendHeartbeat(heartbeatUrl); fn.sendHeartbeat(heartbeatUrl);
}, 30000); }, 30000);
if (isDev) console.log("Heartbeat interval set."); if (isDev) console.log("Heartbeat interval set.");
} else {
if (isDev) console.log("No heartbeat URL set, will not send heartbeats for uptime monitoring.");
} }
}); });

View File

@ -1145,14 +1145,13 @@ const functions = {
return errorId; return errorId;
}, },
async sendHeartbeat(url) { async sendHeartbeat(url) {
console.log(url);
https.get(url, async (response) => { https.get(url, async (response) => {
if (isDev) console.log("Sent Heartbeat Request: " + url);
let data = ''; let data = '';
response.on('data', (chunk) => data += chunk); response.on('data', (chunk) => data += chunk);
response.on('end', () => { response.on('end', () => {
if (isDev) console.log("Received Heartbeat Response: " + data);
parsedData = JSON.parse(data); parsedData = JSON.parse(data);
if ( !(parsedData.ok) ) console.error("Heartbeat failed"); if ( !(parsedData.ok) ) console.error("Heartbeat failed");
}); });

View File

@ -1,6 +1,6 @@
{ {
"name": "silvanus", "name": "silvanus",
"version": "1.2.8", "version": "1.2.7",
"description": "Grow A Tree Companion Bot", "description": "Grow A Tree Companion Bot",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {