diff --git a/config.json b/config.json index c9b7e6d..d81d4bb 100644 --- a/config.json +++ b/config.json @@ -6,5 +6,7 @@ "youtubeMode": true, "logRequestMessage": "!logsplease", "subscribeRequestMessage": "!subscribe", - "unsubscribeRequestMessage": "!unsubscribe" + "unsubscribeRequestMessage": "!unsubscribe", + "logFile": "./log", + "subscribersFile": "./subscribers.json" } \ No newline at end of file diff --git a/feed-bot.js b/feed-bot.js index e50c35f..b9dbd01 100644 --- a/feed-bot.js +++ b/feed-bot.js @@ -60,21 +60,24 @@ var DiscordClient = { return url; }); } - else if (message === Config.subscribeRequestMessage) { - Subscriptions.subscribe(userID, user); + else { + switch (message) { + case Config.subscribeRequestMessage: + Subscriptions.subscribe(userID, user); + break; + case Config.unsubscribeRequestMessage: + Subscriptions.unsubscribe(userID, user); + break; + case Config.logRequestMessage: + DiscordClient.bot.uploadFile({ + to: channelID, + file: Config.logFileName + }, (err, message) => { + if (err) Log.error("Failed to upload log file: " + message, err); + else Log.event("Uploaded log file for user " + user + "(" + userID + ")"); + }); + } } - else if (message === Config.unsubscribeRequestMessage) { - Subscriptions.unsubscribe(userID, user); - } - } - else if (message === Config.logRequestMessage) { - DiscordClient.bot.uploadFile({ - to: channelID, - file: "./log" - }, (err, message) => { - if (err) Log.error("Failed to upload log file: " + message, err); - else Log.event("Uploaded log file for user " + user + "(" + userID + ")"); - }); } }, checkPastMessagesForLinks: function () { @@ -127,20 +130,23 @@ var DiscordClient = { var Subscriptions = { subscribers: [], parse: function () { - JsonFile.readFile("./subscribers.json", (err, obj) => { + JsonFile.readFile(Config.subscribersFile, (err, obj) => { if (err) Log.error("Unable to parse json subscribers file", err); this.subscribers = obj || []; }); }, subscribe: function (userID, user) { this.subscribers.push(userID); - JsonFile.writeFile("./subscribers.json", this.subscribers, (err) => { if (err) Log.error("Unable to write subscribers to json file", err); }); + this.writeToFile(); Log.event("Subscribed user " + (user ? user + "(" + userID + ")" : userID)); }, unsubscribe: function (userID, user) { this.subscribers.splice(this.subscribers.indexOf(userID)); - JsonFile.writeFile("./subscribers.json", this.subscribers, (err) => { if (err) Log.error("Unable to write subscribers to json file", err); }); + this.writeToFile(); Log.event("Unsubscribed user " + (user ? user + "(" + userID + ")" : userID)); + }, + writeToFile: function () { + JsonFile.writeFile(Config.subscribersFile, this.subscribers, (err) => { if (err) Log.error("Unable to write subscribers to json file", err); }); } }; diff --git a/log.js b/log.js index 8d7653a..a0a4c58 100644 --- a/log.js +++ b/log.js @@ -1,18 +1,21 @@ -var console = require("console"); -var FileWriter = require("simple-file-writer"); +//external library imports +var Console = require("console"); //access to debug console +var FileWriter = require("simple-file-writer"); //file writer for logging -var logWriter = new FileWriter("./log"); +//my imports +var Config = require("./config.json"); //config file containing other settings +var logWriter = new FileWriter(Config.logFileName); var latestLog = ""; function log(message) { - if (message && message != latestLog) { + if (message && message !== latestLog) { latestLog = message; //spam reduction //attach a formatted date string to the beginning of everything we log var dateMessage = new Date().toLocaleString() + " " + message; - console.log(dateMessage); + Console.log(dateMessage); logWriter.write(dateMessage + "\n"); } }