From 123f609ea00cd42f221b750d079c09cc43fcb692 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sat, 21 Oct 2023 17:16:13 +0200 Subject: [PATCH 01/33] Switch branch back to beta-testing --- src/data/data.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/data.json b/src/data/data.json index 024101b1..c8de0ea8 100644 --- a/src/data/data.json +++ b/src/data/data.json @@ -1,9 +1,9 @@ { "version": "21400", "versionstr": "2.14.0", - "branch": "master", + "branch": "beta-testing", "filetostart": "./src/starter.js", - "filetostarturl": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/master/src/starter.js", + "filetostarturl": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/starter.js", "mestr": "3urobeat", "aboutstr": "This bot was created by 3urobeat.\nGitHub: https://github.com/3urobeat/steam-comment-service-bot \nSteam: https://steamcommunity.com/id/3urobeat \nIf you like my work, any donation would be appreciated! https://github.com/sponsors/3urobeat", "firststart": true, From 772856216076e9d81fd2f640d17138b9f635d5b1 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 22 Oct 2023 12:41:54 +0200 Subject: [PATCH 02/33] Bump node min version to 16.0.0 to fix two dependency errors on initial start and ignore package-lock in fileStructure --- docs/wiki/setup_guide.md | 2 +- scripts/generateFileStructure.js | 4 ++-- src/controller/controller.js | 8 ++++---- src/data/fileStructure.json | 11 +++-------- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/docs/wiki/setup_guide.md b/docs/wiki/setup_guide.md index 15d7dbc2..6d9465c5 100644 --- a/docs/wiki/setup_guide.md +++ b/docs/wiki/setup_guide.md @@ -30,7 +30,7 @@ Every headline on this page also contains a YouTube badge which will take you to Click here: [Download](https://github.com/3urobeat/steam-comment-service-bot/archive/master.zip) Extract the zip and open the `steam-comment-service-bot` folder. -You need to have at least node.js version 14.15.0 installed: [Download](https://nodejs.org) +You need to have at least node.js version 16.0.0 installed: [Download](https://nodejs.org) If you already have node installed, check the version number by running `node --version` in your console or terminal. If you need a tutorial for this specific node part, [click here.](https://youtu.be/8J78rC9Z28U?t=60) diff --git a/scripts/generateFileStructure.js b/scripts/generateFileStructure.js index 845ad231..119a2120 100644 --- a/scripts/generateFileStructure.js +++ b/scripts/generateFileStructure.js @@ -4,7 +4,7 @@ * Created Date: 02.09.2023 14:41:54 * Author: 3urobeat * - * Last Modified: 09.09.2023 15:15:20 + * Last Modified: 22.10.2023 12:36:37 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -30,7 +30,7 @@ const ignore = [ ".git", "node_modules", "backup", "plugins", // Folders "accounts.txt", "config.json", "proxies.txt", "quotes.txt", "advancedconfig.json", "config.json", "customlang.json", // Config files "output.txt", "src/data/cache.json", "src/data/data.json", "src/data/fileStructure.json", "src/data/lastcomment.db", "src/data/ratingHistory.db", "src/data/tokens.db", "src/data/userSettings.db", // Files changing at runtime - "comment-service-bot.code-workspace" // Misc + "comment-service-bot.code-workspace", "package-lock.json" // Misc ]; const output = []; diff --git a/src/controller/controller.js b/src/controller/controller.js index a8f26c8d..0cb2cf18 100644 --- a/src/controller/controller.js +++ b/src/controller/controller.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 15.10.2023 11:13:59 + * Last Modified: 22.10.2023 12:40:13 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -180,14 +180,14 @@ Controller.prototype._start = async function() { } - // Check for unsupported node.js version (<14.15.0) + // Check for unsupported node.js version (<16.0.0) let versionarr = process.version.replace("v", "").split("."); versionarr.forEach((e, i) => { if (e.length == 1 && parseInt(e) < 10) versionarr[i] = `0${e}`; }); // Put 0 in front of single digits - if (parseInt(versionarr.join("")) < 141500) { + if (parseInt(versionarr.join("")) < 160000) { logger("", "\n************************************************************************************\n", true); - logger("error", `This application requires at least node.js ${logger.colors.reset}v14.15.0${logger.colors.fgred} but you have ${logger.colors.reset}${process.version}${logger.colors.fgred} installed!\n Please update your node.js installation: ${logger.colors.reset} https://nodejs.org/`, true); + logger("error", `This application requires at least node.js ${logger.colors.reset}v16.0.0${logger.colors.fgred} but you have ${logger.colors.reset}${process.version}${logger.colors.fgred} installed!\n Please update your node.js installation: ${logger.colors.reset} https://nodejs.org/`, true); logger("", "\n************************************************************************************\n", true); return this.stop(); } diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 7c9e53dc..6b98c934 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -263,7 +263,7 @@ { "path": "docs/wiki/setup_guide.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/wiki/setup_guide.md", - "checksum": "ec0468f2883394a8f059b74377808dd4" + "checksum": "1d613ba3d473233be385938090306010" }, { "path": "docs/wiki/steam_limitations.md", @@ -275,11 +275,6 @@ "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/wiki/version_changelogs.md", "checksum": "41b3dd13d210e3d1196727eae8b31802" }, - { - "path": "package-lock.json", - "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package-lock.json", - "checksum": "db7cdd56a8392cdf6fef204a219efb1f" - }, { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", @@ -298,7 +293,7 @@ { "path": "scripts/generateFileStructure.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/generateFileStructure.js", - "checksum": "cd95c47ae5b169d7ad0fa59074736e92" + "checksum": "4076a13667f2575b25798a5da75c6adf" }, { "path": "scripts/langStringsChangeDetector.js", @@ -488,7 +483,7 @@ { "path": "src/controller/controller.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/controller.js", - "checksum": "3bc947b3df33b319add4c339e3f15a52" + "checksum": "0b73281aafb249bd601d9881d630dc59" }, { "path": "src/controller/events/ready.js", From 66fdc5ae14d742dd94eef375d060788101ecdda2 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 22 Oct 2023 19:49:11 +0200 Subject: [PATCH 03/33] Improve how logininfo is accessed during login --- docs/dev/bot/bot.md | 9 +++++++- docs/dev/dataManager/dataManager.md | 5 +++++ src/bot/bot.js | 4 ++-- src/controller/login.js | 32 ++++++++++++++--------------- src/data/fileStructure.json | 12 +++++------ src/dataManager/dataImport.js | 4 ++-- 6 files changed, 39 insertions(+), 27 deletions(-) diff --git a/docs/dev/bot/bot.md b/docs/dev/bot/bot.md index bf9fab54..74bec244 100644 --- a/docs/dev/bot/bot.md +++ b/docs/dev/bot/bot.md @@ -10,4 +10,11 @@ The bot object itself handles events for this specific account (e.g. chat messag   Every function and object property is documented with JsDocs in the implementation file. -Please check them out using your IntelliSense or by clicking the button in the top right corner of this page. \ No newline at end of file +Please check them out using your IntelliSense or by clicking the button in the top right corner of this page. + +  + +### index +Each bot account gets an index assigned during the first login. +The index property must match to the index of the corresponding entry inside the `data.logininfo` array. +Should you want to modify the account order during runtime, you must also make the same change in the logininfo array. \ No newline at end of file diff --git a/docs/dev/dataManager/dataManager.md b/docs/dev/dataManager/dataManager.md index 97ea3814..d42d74a6 100644 --- a/docs/dev/dataManager/dataManager.md +++ b/docs/dev/dataManager/dataManager.md @@ -15,6 +15,11 @@ Please check them out using your IntelliSense or by clicking the button in the t   +### logininfo +Array of objects storing the login information of every bot account. +The index property must match to the index of the corresponding bot account. +Should you want to modify the account order during runtime, you must also make the same change in this array. + ### lang Object storing all supported languages and their strings used for responding to a user. diff --git a/src/bot/bot.js b/src/bot/bot.js index 9d97cbc2..f1e2ba00 100644 --- a/src/bot/bot.js +++ b/src/bot/bot.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:26:46 + * Last Modified: 22.10.2023 18:45:05 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -69,7 +69,7 @@ const Bot = function(controller, index) { * Additional login related information for this bot account */ this.loginData = { - logOnOptions: controller.data.logininfo[index], // TODO: This could be an issue later when the index could change at runtime + logOnOptions: controller.data.logininfo.find((e) => e.index == index), // TODO: This could be an issue later when the index could change at runtime logOnTries: 0, relogTries: 0, // Amount of times logOns have been retried after relogTimeout. handleRelog() attempts to cycle proxies after enough failures waitingFor2FA: false, // Set by sessionHandler's handle2FA helper to prevent handleLoginTimeout from triggering diff --git a/src/controller/login.js b/src/controller/login.js index 1dccf018..ab514b77 100644 --- a/src/controller/login.js +++ b/src/controller/login.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:52:52 + * Last Modified: 22.10.2023 14:17:40 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -75,14 +75,14 @@ Controller.prototype.login = function(firstLogin) { if (this.info.activeLogin) return logger("debug", "Controller login(): Login requested but there is already a login process active. Ignoring..."); else logger("debug", "Controller login(): Login requested, checking for any accounts currently offline..."); - // Get array of all account names - let allAccounts = this.data.logininfo.map((e) => e.accountName); + // Get array of all accounts + let allAccounts = [ ... this.data.logininfo ]; // Filter accounts which were skipped - allAccounts = allAccounts.filter(e => !this.info.skippedaccounts.includes(e)); + allAccounts = allAccounts.filter((e) => !this.info.skippedaccounts.includes(e.accountName)); // Filter accounts which are not offline - allAccounts = allAccounts.filter(e => !this.bots[e] || this.bots[e].status == Bot.EStatus.OFFLINE); // If no bot object exists yet the account must be offline + allAccounts = allAccounts.filter((e) => !this.bots[e.accountName] || this.bots[e.accountName].status == Bot.EStatus.OFFLINE); // If no bot object exists yet the account must be offline logger("debug", `Controller login(): Found ${allAccounts.length} account(s) which aren't logged in and weren't skipped`); @@ -93,7 +93,7 @@ Controller.prototype.login = function(firstLogin) { // Iterate over all accounts, use syncLoop() helper to make our job easier misc.syncLoop(allAccounts.length, (loop, i) => { - let k = this.data.logininfo.find((e) => e.accountName == allAccounts[i]); // Get logininfo for this account name + let thisAcc = allAccounts[i]; // Get logininfo for this account name // Calculate wait time let waitTime = (this.info.lastLoginTimestamp + this.data.advancedconfig.loginDelay) - Date.now(); @@ -105,23 +105,23 @@ Controller.prototype.login = function(firstLogin) { setTimeout(() => { // Check if no bot object entry exists for this account and create one - if (!this.bots[k.accountName]) { - logger("info", `Creating new bot object for ${k.accountName}...`, false, true, logger.animation("loading")); + if (!this.bots[thisAcc.accountName]) { + logger("info", `Creating new bot object for ${thisAcc.accountName}...`, false, true, logger.animation("loading")); - this.bots[k.accountName] = new Bot(this, k.index); // Create a new bot object for this account and store a reference to it + this.bots[thisAcc.accountName] = new Bot(this, thisAcc.index); // Create a new bot object for this account and store a reference to it } else { - logger("debug", `Found existing bot object for ${k.accountName}! Reusing it...`, false, true, logger.animation("loading")); + logger("debug", `Found existing bot object for ${thisAcc.accountName}! Reusing it...`, false, true, logger.animation("loading")); } - let thisbot = this.bots[k.accountName]; + let thisbot = this.bots[thisAcc.accountName]; // Reset logOnTries (do this here to guarantee a bot object exists for this account) thisbot.loginData.logOnTries = 0; // Generate steamGuardCode with shared secret if one was provided - if (k.sharedSecret) { - logger("debug", `Found shared_secret for bot${this.bots[k.accountName].index}! Generating AuthCode and adding it to logOnOptions...`); - k.steamGuardCode = SteamTotp.generateAuthCode(k.sharedSecret); + if (thisAcc.sharedSecret) { + logger("debug", `Found shared_secret for bot${this.bots[thisAcc.accountName].index}! Generating AuthCode and adding it to logOnOptions...`); + thisAcc.steamGuardCode = SteamTotp.generateAuthCode(thisAcc.sharedSecret); } // Login! @@ -143,9 +143,9 @@ Controller.prototype.login = function(firstLogin) { this.info.lastLoginTimestamp = Date.now(); // Populate this.main if we just logged in the first account - if (Object.keys(this.bots)[0] == k.accountName) this.main = thisbot; + if (Object.keys(this.bots)[0] == thisAcc.accountName) this.main = thisbot; - logger("debug", `Controller login(): bot${this.bots[k.accountName].index} changed status from OFFLINE to ${Bot.EStatus[thisbot.status]}! Continuing with next account...`); + logger("debug", `Controller login(): bot${this.bots[thisAcc.accountName].index} changed status from OFFLINE to ${Bot.EStatus[thisbot.status]}! Continuing with next account...`); // Check for last iteration, call again and emit ready event if (i + 1 == allAccounts.length) { diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 6b98c934..ca6d9608 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -63,7 +63,7 @@ { "path": "docs/dev/bot/bot.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/dev/bot/bot.md", - "checksum": "cb6e6d58e0e779126c26575540d9f43b" + "checksum": "7070464e4d00d676ce5b1ac5647ad503" }, { "path": "docs/dev/bot/events.md", @@ -93,7 +93,7 @@ { "path": "docs/dev/dataManager/dataManager.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/dev/dataManager/dataManager.md", - "checksum": "99f5cc5569781f8d8447a81e089402b1" + "checksum": "59fc158f4af273360ae91c4b69ba4e40" }, { "path": "docs/dev/introduction.md", @@ -308,7 +308,7 @@ { "path": "src/bot/bot.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/bot.js", - "checksum": "9c696caf975f0362c57ffac73a522665" + "checksum": "1372aadfdc9d4d6620be62b2179bce39" }, { "path": "src/bot/events/debug.js", @@ -483,7 +483,7 @@ { "path": "src/controller/controller.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/controller.js", - "checksum": "0b73281aafb249bd601d9881d630dc59" + "checksum": "f967841a07cec8e05ed6c5d0f99bc64f" }, { "path": "src/controller/events/ready.js", @@ -538,7 +538,7 @@ { "path": "src/controller/login.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/login.js", - "checksum": "05987c04879a38d7e91f7a5edacd2084" + "checksum": "ba68b70d7325188ba76e8774e5d5cdd3" }, { "path": "src/data/ascii.js", @@ -568,7 +568,7 @@ { "path": "src/dataManager/dataImport.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataImport.js", - "checksum": "ce6267ece2a38897e40a5ce64c9dd00b" + "checksum": "85a6739d736a4afc460225275111e0bd" }, { "path": "src/dataManager/dataIntegrity.js", diff --git a/src/dataManager/dataImport.js b/src/dataManager/dataImport.js index 889350a1..cef0be3f 100644 --- a/src/dataManager/dataImport.js +++ b/src/dataManager/dataImport.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 13:01:03 + * Last Modified: 22.10.2023 19:47:50 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -196,7 +196,7 @@ DataManager.prototype._importFromDisk = async function () { } // Create empty accounts.txt file if neither exist - if (!fs.existsSync("./accounts.txt")) _this._pullNewFile("accounts.txt", "./accounts.txt", () => {}, true); // Ignore resolve() param + if (!fs.existsSync("./accounts.txt") && !fs.existsSync("./logininfo.json")) _this._pullNewFile("accounts.txt", "./accounts.txt", () => {}, true); // Ignore resolve() param }); } From 3073709bc0b00609c47fef51d6b63d6ddfddd71c Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 3 Nov 2023 22:53:12 +0100 Subject: [PATCH 04/33] Log username in friendMessage event --- src/bot/events/friendMessage.js | 11 +++++++---- src/data/fileStructure.json | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/bot/events/friendMessage.js b/src/bot/events/friendMessage.js index 0c31f271..d8ac6ff5 100644 --- a/src/bot/events/friendMessage.js +++ b/src/bot/events/friendMessage.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:34:51 + * Last Modified: 03.11.2023 22:45:43 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -30,8 +30,11 @@ Bot.prototype._attachSteamFriendMessageEvent = function() { let steamID = msg.steamid_friend; let steamID64 = new SteamID(String(steamID)).getSteamID64(); + let username = this.user.users[steamID64].player_name; + let resInfo = { userID: steamID64, cmdprefix: "!", fromSteamChat: true }; // Object required for sendChatMessage(), our commandHandler respondModule implementation + // Check if another friendMessage handler is currently active if (this.friendMessageBlock.includes(steamID64)) return logger("debug", `[${this.logPrefix}] Ignoring friendMessage event from ${steamID64} as user is on friendMessageBlock list.`); @@ -41,8 +44,8 @@ Bot.prototype._attachSteamFriendMessageEvent = function() { // Log friend message but cut it if it is >= 75 chars - if (message.length >= 75) logger("info", `[${this.logPrefix}] Friend message from ${steamID64}: ${message.slice(0, 75) + "..."}`); - else logger("info", `[${this.logPrefix}] Friend message from ${steamID64}: ${message}`); + if (message.length >= 75) logger("info", `[${this.logPrefix}] Friend message from '${username}' (${steamID64}): ${message.slice(0, 75) + "..."}`); + else logger("info", `[${this.logPrefix}] Friend message from '${username}' (${steamID64}): ${message}`); // Sort out any chat messages not sent to the main bot @@ -95,4 +98,4 @@ Bot.prototype._attachSteamFriendMessageEvent = function() { if (!success) this.sendChatMessage(this, resInfo, await this.controller.data.getLang("commandnotfound", { "cmdprefix": resInfo.cmdprefix }, steamID64)); // Send cmd not found msg if runCommand() returned false }); -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index ca6d9608..3aa05e4a 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -328,7 +328,7 @@ { "path": "src/bot/events/friendMessage.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/friendMessage.js", - "checksum": "662a8e4e64ca270f0efcbb688fb517ed" + "checksum": "036cdfeba83ab1c9f333c6242866b0d3" }, { "path": "src/bot/events/loggedOn.js", From 26aafe688218b8aa088b60deff80d61260bc5b35 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 3 Nov 2023 22:58:24 +0100 Subject: [PATCH 05/33] Fix downloadUpdate() deleting ratingHistory & userSetting db contents --- src/data/fileStructure.json | 2 +- src/updater/helpers/downloadUpdate.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 3aa05e4a..5bcfdc9c 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -778,7 +778,7 @@ { "path": "src/updater/helpers/downloadUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/downloadUpdate.js", - "checksum": "429959acf0bcbcda2b35b78f723c0e3d" + "checksum": "89c8e65af33289e13b85b1e3a3c3f4c4" }, { "path": "src/updater/helpers/prepareUpdate.js", diff --git a/src/updater/helpers/downloadUpdate.js b/src/updater/helpers/downloadUpdate.js index 0f635fa2..16e840bc 100644 --- a/src/updater/helpers/downloadUpdate.js +++ b/src/updater/helpers/downloadUpdate.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 03.11.2023 22:57:53 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -29,7 +29,7 @@ module.exports.startDownload = (controller) => { // Start by defining which files we should keep const dontDelete = [ - "./src/data/cache.json", "./src/data/lastcomment.db", "./src/data/tokens.db", "./output.txt", // Data stuff + "./src/data/cache.json", "./src/data/lastcomment.db", "./src/data/ratingHistory.db", "./src/data/tokens.db", "./src/data/userSettings.db", "./output.txt", // Data stuff "./accounts.txt", "./customlang.json", "./logininfo.json", "./proxies.txt", "./quotes.txt" // User config stuff ]; @@ -126,4 +126,4 @@ module.exports.startDownload = (controller) => { }); }); -}; \ No newline at end of file +}; From b48243eeae4e7d109e4ef12f8da08fc03950ee4b Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 3 Nov 2023 23:00:47 +0100 Subject: [PATCH 06/33] Deps update & misc --- .eslintrc.json | 5 ++ docs/wiki/changelogs/CHANGELOG_v2.14.md | 2 + package-lock.json | 82 ++++++++++++------------- package.json | 10 +-- src/bot/bot.js | 6 +- src/commands/commandHandler.js | 3 +- src/data/fileStructure.json | 14 ++--- src/dataManager/dataManager.js | 3 +- types/types.d.ts | 2 +- 9 files changed, 68 insertions(+), 59 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 76548097..7d832ed8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,4 +1,9 @@ { + /* + 3urobeat's EsLint Config. Requires eslint & eslint-plugin-jsdoc to be installed as devDependencies. + https://github.com/3urobeat + */ + "env": { "commonjs": true, "es6": true, diff --git a/docs/wiki/changelogs/CHANGELOG_v2.14.md b/docs/wiki/changelogs/CHANGELOG_v2.14.md index 804b1a16..6b89321d 100644 --- a/docs/wiki/changelogs/CHANGELOG_v2.14.md +++ b/docs/wiki/changelogs/CHANGELOG_v2.14.md @@ -225,4 +225,6 @@ If you are using a `customlang.json`, make sure to read the language string chan +Commit: [b4072cf](https://github.com/3urobeat/steam-comment-service-bot/commit/b4072cf) +   \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 81eba3c1..c4761bfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,8 +18,8 @@ "request": "^2.88.2", "steam-comment-bot-rest": "^1.1.0", "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", - "steam-session": "^1.6.0", - "steam-user": "^5.0.1", + "steam-session": "^1.7.1", + "steam-user": "^5.0.4", "steamcommunity": "^3.47.1", "steamid": "^2.0.0", "steamid-resolver": "^1.3.4" @@ -74,9 +74,9 @@ } }, "node_modules/@doctormckay/stdlib": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@doctormckay/stdlib/-/stdlib-2.9.0.tgz", - "integrity": "sha512-5lG6MYx749UgPpsCJ9zceERU/Bd7847Tpsy03gdrBI7FLLkrHLYT1dh8QQNz7OLLfxnN0xgAzZXu0nZhwsiVZg==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@doctormckay/stdlib/-/stdlib-2.9.1.tgz", + "integrity": "sha512-o/gEe6iTMMLQgJytfpYehAQVTvUsEyPiOOM66ATmzRlHgXdvj9XD5SWjd+DqHZqd5zv6RCC2pO4ktqfMnFU7vA==", "dependencies": { "psl": "^1.9.0" }, @@ -124,18 +124,18 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -438,11 +438,11 @@ "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" }, "node_modules/@types/node": { - "version": "20.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", - "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "node_modules/@types/qs": { @@ -499,9 +499,9 @@ } }, "node_modules/@types/steam-user": { - "version": "4.26.6", - "resolved": "https://registry.npmjs.org/@types/steam-user/-/steam-user-4.26.6.tgz", - "integrity": "sha512-+3gCVc8zsCMt9IRbSS1bhBBsTyzYX1GxreiqBx2Uz+MO3YDxx47E+3aTafqsFWXGOy+jbu6q+kAqVrPtHpaQYg==", + "version": "4.26.7", + "resolved": "https://registry.npmjs.org/@types/steam-user/-/steam-user-4.26.7.tgz", + "integrity": "sha512-JGWBzW1wmQy54ZhfcDrkGv30X69VeX8mwlzcRLhIxPD9wVlTWOM8p/wMpmqG/f87G51GvMapDFmxM7OhnJ1Zhg==", "dependencies": { "@types/bytebuffer": "*", "@types/file-manager": "*", @@ -510,9 +510,9 @@ } }, "node_modules/@types/steamcommunity": { - "version": "3.43.4", - "resolved": "https://registry.npmjs.org/@types/steamcommunity/-/steamcommunity-3.43.4.tgz", - "integrity": "sha512-wmLGf5GfhKs/tWr3jppppiOmbzdYsDucnmS1lCcDmvXysiMIEhIL60Y8g7BU337dKyBzyotlWRMjae0UU4cGvA==", + "version": "3.43.5", + "resolved": "https://registry.npmjs.org/@types/steamcommunity/-/steamcommunity-3.43.5.tgz", + "integrity": "sha512-2yyI6P4/lhiw/tssfxkHUoiDSuugGvwLqsuNMzowf06B1NMhoYpuaqoDNTqM8e8SrZ5PqcqgAaV/IF56YbrIFQ==", "dependencies": { "@types/node": "*", "@types/request": "*", @@ -553,9 +553,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -724,9 +724,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3836,9 +3836,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -4473,9 +4473,9 @@ } }, "node_modules/steam-session": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/steam-session/-/steam-session-1.6.0.tgz", - "integrity": "sha512-28bTCqxP27hcVRSwMW60tVKQeosFJiNcjJYGJ3yb15IrGFWQAJqHFTRmVZIUYTTMxUiFgv+5ns9dpLXz+eA7DA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/steam-session/-/steam-session-1.7.1.tgz", + "integrity": "sha512-igdcAFlhFVHnpk2+Wy6iI91qDC0FoqmKmShoSVhKH+UvNWDzrHgOza1mq9jPRi/uBfVuVAe1dpUbtEShiprXzg==", "dependencies": { "@doctormckay/stdlib": "^2.9.0", "@doctormckay/user-agents": "^1.0.0", @@ -4501,12 +4501,12 @@ } }, "node_modules/steam-user": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/steam-user/-/steam-user-5.0.1.tgz", - "integrity": "sha512-kH0u0v4qobbnkxDcWyZNoAvOkbCJH9KBbRGRssSfkmAX4fZZQYlJfJwvojL0DIRJr6/3C4tycqXCHYW0+B1Xlg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/steam-user/-/steam-user-5.0.4.tgz", + "integrity": "sha512-Pod3Q6JhAl/g6znn3b418mJK8A5r3n5HlLv60Qd3tDPI47jGlA+hrwWzyb816d7zrRphTPfyNVpHwpneoA8Y7g==", "dependencies": { "@bbob/parser": "^2.2.0", - "@doctormckay/stdlib": "^2.7.1", + "@doctormckay/stdlib": "^2.9.1", "@doctormckay/steam-crypto": "^1.2.0", "adm-zip": "^0.5.10", "binarykvparser": "^2.2.0", @@ -4517,7 +4517,7 @@ "protobufjs": "^7.2.4", "socks-proxy-agent": "^7.0.0", "steam-appticket": "^1.0.1", - "steam-session": "^1.3.4", + "steam-session": "^1.7.0", "steam-totp": "^2.0.1", "steamid": "^2.0.0", "websocket13": "^4.0.0" @@ -4928,9 +4928,9 @@ "peer": true }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unpipe": { "version": "1.0.0", diff --git a/package.json b/package.json index 29b24197..e4a5ca4b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "steam-comment-service-bot", "version": "2.14.0", - "description": "Steam Multi Account Manager with built-in comment, like & favorite commands and extensive plugin support.", + "description": "The most advanced Steam Multi Account Manager with built-in comment, like & favorite commands and extensive plugin support.", "main": "start.js", "dependencies": { "@seald-io/nedb": "^4.0.2", @@ -13,16 +13,16 @@ "request": "^2.88.2", "steam-comment-bot-rest": "^1.1.0", "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", - "steam-session": "^1.6.0", - "steam-user": "^5.0.1", + "steam-session": "^1.7.1", + "steam-user": "^5.0.4", "steamcommunity": "^3.47.1", "steamid": "^2.0.0", "steamid-resolver": "^1.3.4" }, "scripts": { "start": "node start.js", - "dev": "npm run types ; node scripts/generateFileStructure.js && node start", - "types": "jsdoc -t node_modules/tsd-jsdoc/dist -r src/. -d types" + "dev": "node scripts/generateFileStructure.js && node start", + "types": "jsdoc -t node_modules/tsd-jsdoc/dist -r src/. -d types ; node scripts/generateFileStructure.js" }, "author": "3urobeat", "license": "GPL-3.0", diff --git a/src/bot/bot.js b/src/bot/bot.js index f1e2ba00..38cf8fd8 100644 --- a/src/bot/bot.js +++ b/src/bot/bot.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 22.10.2023 18:45:05 + * Last Modified: 02.11.2023 14:36:35 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -40,7 +40,7 @@ const Bot = function(controller, index) { this.controller = controller; /** - * Reference to the controller object + * Reference to the DataManager object * @type {DataManager} */ this.data = controller.data; @@ -280,4 +280,4 @@ Bot.prototype.sendChatMessage = function(_this, resInfo, txt, retry, part = 0) { * @param {number} timeout Time in ms after which the Promise will be resolved if user does not respond. Pass 0 to disable (not recommended) * @returns {Promise.} Resolved with `String` on response or `null` on timeout. */ -Bot.prototype.readChatMessage = function(steamID64, timeout) {}; // eslint-disable-line \ No newline at end of file +Bot.prototype.readChatMessage = function(steamID64, timeout) {}; // eslint-disable-line diff --git a/src/commands/commandHandler.js b/src/commands/commandHandler.js index fe5da09a..90146807 100644 --- a/src/commands/commandHandler.js +++ b/src/commands/commandHandler.js @@ -4,7 +4,7 @@ * Created Date: 01.04.2023 21:54:21 * Author: 3urobeat * - * Last Modified: 10.09.2023 11:51:58 + * Last Modified: 25.10.2023 21:35:23 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -103,6 +103,7 @@ CommandHandler.prototype._importCoreCommands = function() { resolve(); } }); + }); }); diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 5bcfdc9c..6b6101c9 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -3,7 +3,7 @@ { "path": ".eslintrc.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/.eslintrc.json", - "checksum": "c720367ec1727b2d3af2c42c495d0865" + "checksum": "982f55cc4c53137135b87df43bbfe9c8" }, { "path": ".github/FUNDING.yml", @@ -178,7 +178,7 @@ { "path": "docs/wiki/changelogs/CHANGELOG_v2.14.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/wiki/changelogs/CHANGELOG_v2.14.md", - "checksum": "994078e01b7dba9748f597e7969935b3" + "checksum": "0b85da48e0fcdebf3eb1085f59ecae53" }, { "path": "docs/wiki/changelogs/CHANGELOG_v2.2.md", @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "5d0abc6d4dd621aaa67b4adb1c49d4b2" + "checksum": "ec990151dcca7369b279b9d76c08fa50" }, { "path": "scripts/README.md", @@ -308,7 +308,7 @@ { "path": "src/bot/bot.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/bot.js", - "checksum": "1372aadfdc9d4d6620be62b2179bce39" + "checksum": "40087fc04b8b08b772cb85cc1d410f34" }, { "path": "src/bot/events/debug.js", @@ -373,7 +373,7 @@ { "path": "src/commands/commandHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/commandHandler.js", - "checksum": "106babe27b983ea4323ef749e34567bf" + "checksum": "5fd2f7c48295766a759aa8e3cc91df76" }, { "path": "src/commands/core/block.js", @@ -578,7 +578,7 @@ { "path": "src/dataManager/dataManager.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataManager.js", - "checksum": "b5b8f046cb80752b54c01005b62ec078" + "checksum": "51beaf755efbab71e70f5aa6a91c2a15" }, { "path": "src/dataManager/dataProcessing.js", @@ -803,7 +803,7 @@ { "path": "types/types.d.ts", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/types/types.d.ts", - "checksum": "9f2514ea4fcc1b47ba530b743e075444" + "checksum": "10e64a2b2d1ad53429f979609785134a" } ] } \ No newline at end of file diff --git a/src/dataManager/dataManager.js b/src/dataManager/dataManager.js index 7f1030e7..e1ff64fb 100644 --- a/src/dataManager/dataManager.js +++ b/src/dataManager/dataManager.js @@ -4,7 +4,7 @@ * Created Date: 21.03.2023 22:34:51 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:40:24 + * Last Modified: 24.10.2023 20:25:38 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -26,6 +26,7 @@ const Controller = require("../controller/controller.js"); // eslint-disable-lin * @param {Controller} controller Reference to the controller object */ const DataManager = function (controller) { + /** * Reference to the controller object * @type {Controller} diff --git a/types/types.d.ts b/types/types.d.ts index b5ff4711..335f6428 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -10,7 +10,7 @@ declare class Bot { */ controller: Controller; /** - * Reference to the controller object + * Reference to the DataManager object */ data: DataManager; /** From 8e58e79fc6a0486a9a1fa96015c8a7ec5a79063c Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Wed, 22 Nov 2023 10:21:37 +0100 Subject: [PATCH 07/33] Update node.js version badge --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c911d52e..1b5ad7e3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@
[![YouTube](https://img.shields.io/badge/YouTube-Tutorial-red)](https://youtu.be/8J78rC9Z28U) -[![nodejs](https://img.shields.io/badge/node.js-v14-brightgreen)](https://nodejs.org/) +[![nodejs](https://img.shields.io/badge/node.js-v16-brightgreen)](https://nodejs.org/) [![Star](https://img.shields.io/badge/-Give%20this%20repo%20a%20star!-yellow)](https://github.com/3urobeat/steam-comment-service-bot) [![Steam Group](https://img.shields.io/badge/Steam%20Group-Join!-blue)](https://steamcommunity.com/groups/3urobeatGroup) [![Donate](https://img.shields.io/badge/Donate-%241-orange)](https://github.com/sponsors/3urobeat) @@ -50,17 +50,13 @@ If you would like to rather follow a video than these written instructions, clic Follow the Wiki's [**Setup Guide by clicking here**](./docs/wiki/setup_guide.md) to get started! This process is pretty simple and should not take you long! -**Disclaimer!** -> I, 3urobeat (the developer), am not responsible and cannot be held liable for any action the operator/user of this bot uses it for. -> By using this application you agree to not misuse it! -   ## Additional Information:
[![Sponsor](https://img.shields.io/badge/Sponsor-%241-orange)](https://github.com/sponsors/3urobeat) ![Star](https://img.shields.io/github/stars/3urobeat/steam-comment-service-bot) -> If you like this project please consider donating a dollar by clicking on the **Sponsor** badge and by giving this repository a **Star** at the top! +> If you like this project please consider donating a dollar by clicking on the **Sponsor** badge and by giving this repository a **Star** at the top! Thank you so much!
@@ -90,4 +86,4 @@ When using this project as a whole you are only allowed to edit the config files #### **Credits & Donations** Thank you [DoctorMcKay](https://github.com/DoctorMcKay) for creating the [steam-user](https://github.com/DoctorMcKay/node-steam-user) and [steamcommunity](https://github.com/DoctorMcKay/node-steamcommunity) libraries which this project heavily depends on! -Thank you so much to every single one who donated a dollar or two; there are now too many names to list them one by one! ❤️ \ No newline at end of file +Thank you so much to every single one who donated a dollar or two; there are now too many names to list them one by one! ❤️ From b9e2d6a9f2f574bccc94c3722cefad077feffdc1 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Tue, 28 Nov 2023 21:21:49 +0100 Subject: [PATCH 08/33] Update deps & checksums --- package-lock.json | 52 ++++++++++----------- package.json | 6 +-- src/data/fileStructure.json | 6 +-- src/sessions/helpers/tokenStorageHandler.js | 3 +- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index c4761bfb..7ca0c2fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0", "dependencies": { "@seald-io/nedb": "^4.0.2", - "@types/tail": "^2.2.2", + "@types/tail": "^2.2.3", "download": "^8.0.0", "htmlparser2": "^9.0.0", "https": "^1.0.0", @@ -25,8 +25,8 @@ "steamid-resolver": "^1.3.4" }, "devDependencies": { - "eslint": "^8.52.0", - "eslint-plugin-jsdoc": "^46.8.2", + "eslint": "^8.54.0", + "eslint-plugin-jsdoc": "^46.9.0", "tsd-jsdoc": "^2.5.0" } }, @@ -95,12 +95,12 @@ "integrity": "sha512-F+sL1YmebZTY2CnjoR9BXFEULpq7y8dxyLx48LZVa0BSDseXdLG/DtPISfM1iNv1XKCeiBzVNfAT/MOQ69v1Zw==" }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz", + "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==", "dev": true, "dependencies": { - "comment-parser": "1.4.0", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" }, @@ -156,9 +156,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -525,9 +525,9 @@ "integrity": "sha512-dCXjh122ilAmmpmiCNfxzjXpT/V9dpGhekXa24+EUX0vOxaSapW3UDEV7K8QrfZtzxGUFvxt515KJkdneZEMLQ==" }, "node_modules/@types/tail": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@types/tail/-/tail-2.2.2.tgz", - "integrity": "sha512-+CjjgMFjIVgTYsJXWNpAKVRerFWc9c+GTMzY/336fSW6BhY5TJwo2CNYJiNq7mO9rBHmtmpceKf2DnkrnaR3Vg==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/tail/-/tail-2.2.3.tgz", + "integrity": "sha512-Hnf352egOlDR4nVTaGX0t/kmTNXHMdovF2C7PVDFtHTHJPFmIspOI1b86vEOxU7SfCq/dADS7ptbqgG/WGGxnA==" }, "node_modules/@types/tough-cookie": { "version": "4.0.4", @@ -1206,9 +1206,9 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -1768,15 +1768,15 @@ } }, "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.54.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -1823,14 +1823,14 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "46.8.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", - "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", + "version": "46.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.9.0.tgz", + "integrity": "sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.40.1", + "@es-joy/jsdoccomment": "~0.41.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", diff --git a/package.json b/package.json index e4a5ca4b..39a9ef03 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "start.js", "dependencies": { "@seald-io/nedb": "^4.0.2", - "@types/tail": "^2.2.2", + "@types/tail": "^2.2.3", "download": "^8.0.0", "htmlparser2": "^9.0.0", "https": "^1.0.0", @@ -32,8 +32,8 @@ "homepage": "https://github.com/3urobeat", "repository": "https://github.com/3urobeat/steam-comment-service-bot", "devDependencies": { - "eslint": "^8.52.0", - "eslint-plugin-jsdoc": "^46.8.2", + "eslint": "^8.54.0", + "eslint-plugin-jsdoc": "^46.9.0", "tsd-jsdoc": "^2.5.0" }, "types": "./types/types.d.ts" diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 6b6101c9..b21efdeb 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -53,7 +53,7 @@ { "path": "README.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/README.md", - "checksum": "400ce1d775f3786989e41d968b8e7295" + "checksum": "3bbdee2047bb9236f7c42d9f4e9c7c9d" }, { "path": "docs/dev/README.md", @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "ec990151dcca7369b279b9d76c08fa50" + "checksum": "7c5b09866798ce5b0ff4a35e9b747a3b" }, { "path": "scripts/README.md", @@ -693,7 +693,7 @@ { "path": "src/sessions/helpers/tokenStorageHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/helpers/tokenStorageHandler.js", - "checksum": "b613b839ad476c6bc67d90904ed32a0c" + "checksum": "8d3e64364bc892f7e1cc5b3505ba2b82" }, { "path": "src/sessions/sessionHandler.js", diff --git a/src/sessions/helpers/tokenStorageHandler.js b/src/sessions/helpers/tokenStorageHandler.js index 766dc797..cb502254 100644 --- a/src/sessions/helpers/tokenStorageHandler.js +++ b/src/sessions/helpers/tokenStorageHandler.js @@ -4,7 +4,7 @@ * Created Date: 10.10.2022 12:53:20 * Author: 3urobeat * - * Last Modified: 08.07.2023 00:36:49 + * Last Modified: 21.11.2023 20:23:19 * Modified By: 3urobeat * * Copyright (c) 2022 3urobeat @@ -53,6 +53,7 @@ SessionHandler.prototype._getTokenFromStorage = function(callback) { callback(null); } }); + }; From a29d73bcebbb6cb1ce6328aac981eeaf42214109 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Mon, 11 Dec 2023 21:40:46 +0100 Subject: [PATCH 09/33] Update dependencies --- package-lock.json | 208 ++++++++++++++++++------------------ package.json | 4 +- src/data/fileStructure.json | 2 +- 3 files changed, 107 insertions(+), 107 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ca0c2fd..c7cb3a54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,12 +20,12 @@ "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", "steam-session": "^1.7.1", "steam-user": "^5.0.4", - "steamcommunity": "^3.47.1", + "steamcommunity": "^3.48.0", "steamid": "^2.0.0", "steamid-resolver": "^1.3.4" }, "devDependencies": { - "eslint": "^8.54.0", + "eslint": "^8.55.0", "eslint-plugin-jsdoc": "^46.9.0", "tsd-jsdoc": "^2.5.0" } @@ -40,9 +40,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "peer": true, "bin": { @@ -133,9 +133,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -156,9 +156,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", - "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -324,32 +324,32 @@ } }, "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bytebuffer": { - "version": "5.0.46", - "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.46.tgz", - "integrity": "sha512-QxINdj2nX5ITZfRk4fOZza9IGVJ0QLBeVIuUcEEcmTm1MyPn0PRiK+tf8K7XXwJ+fjT9S5aKt+z78NlCm2RNtA==", + "version": "5.0.48", + "resolved": "https://registry.npmjs.org/@types/bytebuffer/-/bytebuffer-5.0.48.tgz", + "integrity": "sha512-ormKm68NtTOtR8C/4jyRJEYbwKABXRkHHR/1fmkiuFbCQkltgtXSUGfldCSmJzvuyJvmBzWjBbOi79Ry/oJQug==", "dependencies": { "@types/long": "^3.0.0", "@types/node": "*" } }, "node_modules/@types/caseless": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.4.tgz", - "integrity": "sha512-2in/lrHRNmDvHPgyormtEralhPcN3An1gLjJzj2Bw145VBxkQ75JEXW6CTdMAwShiHQcYsl2d10IjQSdJSJz4g==" + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz", + "integrity": "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==" }, "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } @@ -360,17 +360,17 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cors": { - "version": "2.8.15", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz", - "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==", + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -379,9 +379,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -390,22 +390,22 @@ } }, "node_modules/@types/file-manager": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/file-manager/-/file-manager-2.0.2.tgz", - "integrity": "sha512-G4MGSeQ0tOuK5f5ApSb9ft5z0hpLaVP4yOzDspNPjyVmNSKpFWGb1vVCurJ83X+ydUpZd3yR/hie9xFJLbgCeg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/file-manager/-/file-manager-2.0.3.tgz", + "integrity": "sha512-gEq6de+iMbjmkL3Wj183JQ651h9b331wQ3svXp2K6RkgBg+TtiyIZTMols/a3UtXllVV9kSelz/N3Rgh0n6S4g==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/linkify-it": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.4.tgz", - "integrity": "sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", "dev": true, "peer": true }, @@ -426,39 +426,39 @@ } }, "node_modules/@types/mdurl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.4.tgz", - "integrity": "sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", "dev": true, "peer": true }, "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "version": "20.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", + "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" }, "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/request": { - "version": "2.48.11", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.11.tgz", - "integrity": "sha512-HuihY1+Vss5RS9ZHzRyTGIzwPTdrJBkCm/mAeLRYrOQu/MGqyezKXWOK1VhCnR+SDbp9G2mRUP+OVEqCrzpcfA==", + "version": "2.48.12", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz", + "integrity": "sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==", "dependencies": { "@types/caseless": "*", "@types/node": "*", @@ -480,18 +480,18 @@ } }, "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -499,9 +499,9 @@ } }, "node_modules/@types/steam-user": { - "version": "4.26.7", - "resolved": "https://registry.npmjs.org/@types/steam-user/-/steam-user-4.26.7.tgz", - "integrity": "sha512-JGWBzW1wmQy54ZhfcDrkGv30X69VeX8mwlzcRLhIxPD9wVlTWOM8p/wMpmqG/f87G51GvMapDFmxM7OhnJ1Zhg==", + "version": "4.26.8", + "resolved": "https://registry.npmjs.org/@types/steam-user/-/steam-user-4.26.8.tgz", + "integrity": "sha512-LAQzr++DYyG8DJfuGOC7V2LC1H0jrLwR7Z5ibUCffWtoq7UHrdWNW1JJbgOZZY2diSQbX81DfHryb/jcjGgm+Q==", "dependencies": { "@types/bytebuffer": "*", "@types/file-manager": "*", @@ -510,9 +510,9 @@ } }, "node_modules/@types/steamcommunity": { - "version": "3.43.5", - "resolved": "https://registry.npmjs.org/@types/steamcommunity/-/steamcommunity-3.43.5.tgz", - "integrity": "sha512-2yyI6P4/lhiw/tssfxkHUoiDSuugGvwLqsuNMzowf06B1NMhoYpuaqoDNTqM8e8SrZ5PqcqgAaV/IF56YbrIFQ==", + "version": "3.43.6", + "resolved": "https://registry.npmjs.org/@types/steamcommunity/-/steamcommunity-3.43.6.tgz", + "integrity": "sha512-IwVjm+500EXBINdHi0DmxpFWPks/fF2/s/1XSXOSM/MiF9CqRXNRRnV4o6PJLLnoHY+gK5tLmvb3LCdsWIZcDA==", "dependencies": { "@types/node": "*", "@types/request": "*", @@ -520,9 +520,9 @@ } }, "node_modules/@types/steamid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/steamid/-/steamid-2.0.2.tgz", - "integrity": "sha512-dCXjh122ilAmmpmiCNfxzjXpT/V9dpGhekXa24+EUX0vOxaSapW3UDEV7K8QrfZtzxGUFvxt515KJkdneZEMLQ==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/steamid/-/steamid-2.0.3.tgz", + "integrity": "sha512-ozNMQViUYLU+NBN4v7X0bV1O8uTL1bA+WvfHtt9IKcydS4tyYKH7w1vq+xcPGWGL0PRhGtY7C1Zhaeyj2IsETw==" }, "node_modules/@types/tail": { "version": "2.2.3", @@ -530,9 +530,9 @@ "integrity": "sha512-Hnf352egOlDR4nVTaGX0t/kmTNXHMdovF2C7PVDFtHTHJPFmIspOI1b86vEOxU7SfCq/dADS7ptbqgG/WGGxnA==" }, "node_modules/@types/tough-cookie": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", - "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==" + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", @@ -724,9 +724,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1704,9 +1704,9 @@ } }, "node_modules/engine.io": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz", - "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", + "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -1768,15 +1768,15 @@ } }, "node_modules/eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", - "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.54.0", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -2256,9 +2256,9 @@ } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", @@ -2266,7 +2266,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -2443,9 +2443,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2717,9 +2717,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -4527,9 +4527,9 @@ } }, "node_modules/steamcommunity": { - "version": "3.47.1", - "resolved": "https://registry.npmjs.org/steamcommunity/-/steamcommunity-3.47.1.tgz", - "integrity": "sha512-1XRfFunFnCxt3Ww5tvCKeZJtAMUmz4e8JJI1kC7BX2EN4wBhTNZCbzhz4ZvJxUw9WZMG47UQ2ajpmcditCCe8w==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/steamcommunity/-/steamcommunity-3.48.0.tgz", + "integrity": "sha512-cSGewca8ld8o2c0asGcoOV4571U57lxYsXHuvoX65KSIEhGIV0ase6hQhtoGmSld/rPE4LLlvxx2pym92ZHR9w==", "dependencies": { "@doctormckay/user-agents": "^1.0.0", "async": "^2.6.3", @@ -4893,9 +4893,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 39a9ef03..57d504d3 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", "steam-session": "^1.7.1", "steam-user": "^5.0.4", - "steamcommunity": "^3.47.1", + "steamcommunity": "^3.48.0", "steamid": "^2.0.0", "steamid-resolver": "^1.3.4" }, @@ -32,7 +32,7 @@ "homepage": "https://github.com/3urobeat", "repository": "https://github.com/3urobeat/steam-comment-service-bot", "devDependencies": { - "eslint": "^8.54.0", + "eslint": "^8.55.0", "eslint-plugin-jsdoc": "^46.9.0", "tsd-jsdoc": "^2.5.0" }, diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index b21efdeb..c3a05b80 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "7c5b09866798ce5b0ff4a35e9b747a3b" + "checksum": "e696be73d5a1543f28c56e0d9f3fd57d" }, { "path": "scripts/README.md", From 213c321b11a23ad052c0bccc78dff1c556d45693 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 24 Dec 2023 13:59:18 +0100 Subject: [PATCH 10/33] Make aggregatePluginConfig() private --- src/pluginSystem/handlePluginData.js | 9 +++++---- src/pluginSystem/loadPlugins.js | 2 +- src/pluginSystem/pluginSystem.js | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pluginSystem/handlePluginData.js b/src/pluginSystem/handlePluginData.js index 239f1bb0..4c34c2c7 100644 --- a/src/pluginSystem/handlePluginData.js +++ b/src/pluginSystem/handlePluginData.js @@ -4,7 +4,7 @@ * Created Date: 04.06.2023 17:52:51 * Author: 3urobeat * - * Last Modified: 15.09.2023 16:28:07 + * Last Modified: 24.12.2023 13:31:33 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -156,11 +156,12 @@ PluginSystem.prototype.loadPluginConfig = function (pluginName) { /** - * Integrates changes made to the config to the users config - * @param {string} pluginName + * Internal: Integrates changes made to the config to the users config + * @author JLCD + * @param {string} pluginName Name of your plugin * @returns {Record} the config */ -PluginSystem.prototype.aggregatePluginConfig = function (pluginName) { +PluginSystem.prototype._aggregatePluginConfig = function (pluginName) { let path = this.getPluginDataPath(pluginName); if (!fs.existsSync(path + "config.json")) return; diff --git a/src/pluginSystem/loadPlugins.js b/src/pluginSystem/loadPlugins.js index 7f982308..e1abd5cc 100644 --- a/src/pluginSystem/loadPlugins.js +++ b/src/pluginSystem/loadPlugins.js @@ -77,9 +77,9 @@ PluginSystem.prototype._loadPlugins = async function () { if (lastSeenVersion && lastSeenVersion[pluginName] && lastSeenVersion[pluginName] !== pluginJson.version) { logger("warn", `Plugin '${pluginName}' is outdated! Updating plugin...`, false, false, null, true); // Force print now - pluginConfig = this.aggregatePluginConfig(pluginName); } else { pluginConfig = await this.loadPluginConfig(pluginName).catch((err) => logger("error", `The config of plugin '${pluginName}' is fucked, skipping plugin. ${err}`)); + pluginConfig = this._aggregatePluginConfig(pluginName); } // Skip plugin if it is disabled diff --git a/src/pluginSystem/pluginSystem.js b/src/pluginSystem/pluginSystem.js index c4c1b089..677558e3 100644 --- a/src/pluginSystem/pluginSystem.js +++ b/src/pluginSystem/pluginSystem.js @@ -4,7 +4,7 @@ * Created Date: 19.03.2023 13:34:27 * Author: 3urobeat * - * Last Modified: 15.09.2023 16:32:05 + * Last Modified: 24.12.2023 13:31:30 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -168,4 +168,4 @@ PluginSystem.prototype.writePluginConfig = function (pluginName, pluginConfig) { * @param {string} pluginName Name of your plugin * @returns {Record} the config */ -PluginSystem.prototype.aggregatePluginConfig = function (pluginName) {}; // eslint-disable-line +PluginSystem.prototype._aggregatePluginConfig = function (pluginName) {}; // eslint-disable-line From 9da43755b9e09eee8cadb0f82867fb1d35ffc2bc Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 24 Dec 2023 14:57:35 +0100 Subject: [PATCH 11/33] Fix plugin config not being updated when data dir has been deleted --- src/data/fileStructure.json | 6 +++--- src/pluginSystem/handlePluginData.js | 20 ++++++++++---------- src/pluginSystem/loadPlugins.js | 24 ++++++++++++++---------- src/pluginSystem/pluginSystem.js | 17 ++++++++++------- 4 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index c3a05b80..c0391299 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -663,17 +663,17 @@ { "path": "src/pluginSystem/handlePluginData.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/handlePluginData.js", - "checksum": "ae241fda64252cee0afd36c2f3268903" + "checksum": "08486434a3e05dba7e720ab784afa435" }, { "path": "src/pluginSystem/loadPlugins.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/loadPlugins.js", - "checksum": "683f03c09451de7a9ef93b8d37996a98" + "checksum": "a995e909e83477dcbb697ec5620e70e5" }, { "path": "src/pluginSystem/pluginSystem.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/pluginSystem.js", - "checksum": "69c2ae86e0509f67daecdd0ee8953ecf" + "checksum": "7ea83dda77da99fba51528f250e14e4a" }, { "path": "src/sessions/events/sessionEvents.js", diff --git a/src/pluginSystem/handlePluginData.js b/src/pluginSystem/handlePluginData.js index 4c34c2c7..50cbf8a8 100644 --- a/src/pluginSystem/handlePluginData.js +++ b/src/pluginSystem/handlePluginData.js @@ -4,7 +4,7 @@ * Created Date: 04.06.2023 17:52:51 * Author: 3urobeat * - * Last Modified: 24.12.2023 13:31:33 + * Last Modified: 24.12.2023 14:19:23 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -156,21 +156,21 @@ PluginSystem.prototype.loadPluginConfig = function (pluginName) { /** - * Internal: Integrates changes made to the config to the users config + * Internal: Integrates changes made to a plugin's default config into the user's config * @author JLCD * @param {string} pluginName Name of your plugin + * @param {object} currentConfig Config file currently loaded for this plugin * @returns {Record} the config */ -PluginSystem.prototype._aggregatePluginConfig = function (pluginName) { - let path = this.getPluginDataPath(pluginName); - - if (!fs.existsSync(path + "config.json")) return; +PluginSystem.prototype._aggregatePluginConfig = function (pluginName, currentConfig) { + if (!pluginName || !currentConfig) return; if (!fs.existsSync(`${srcdir}/../node_modules/${pluginName}/config.json`)) return; - const standardConfig = require(`${srcdir}/../node_modules/${pluginName}/config.json`); - const config = require(path + "config.json"); - const aggregatedConfig = Object.assign(standardConfig, config); - fs.writeFileSync(path + "config.json", JSON.stringify(aggregatedConfig, null, 4)); + const standardConfig = require(`${srcdir}/../node_modules/${pluginName}/config.json`); + const aggregatedConfig = Object.assign(standardConfig, currentConfig); + + this.writePluginConfig(pluginName, aggregatedConfig); + return aggregatedConfig; }; diff --git a/src/pluginSystem/loadPlugins.js b/src/pluginSystem/loadPlugins.js index e1abd5cc..d35335d5 100644 --- a/src/pluginSystem/loadPlugins.js +++ b/src/pluginSystem/loadPlugins.js @@ -4,7 +4,7 @@ * Created Date: 04.06.2023 15:37:17 * Author: DerDeathraven * - * Last Modified: 05.07.2023 10:31:36 + * Last Modified: 24.12.2023 14:34:17 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -67,21 +67,29 @@ PluginSystem.prototype._loadPlugins = async function () { for (const plugin of initiatedPlugins) { const { pluginName, pluginInstance, pluginJson } = plugin; + // Skip iteration if plugin couldn't be instantiated if (!pluginInstance) { logger("warn", `Skipping plugin '${pluginName}'...`, false, false, null, true); // Force print now continue; } - let pluginConfig = {}; + // Attempt to load plugin config, skip in error + let pluginConfig = await this.loadPluginConfig(pluginName).catch((err) => logger("error", `The config of plugin '${pluginName}' is fucked, skipping plugin. ${err}`)); + + if (!pluginConfig) continue; + + // Handle plugin update by updating config file const lastSeenVersion = this.controller.data.cachefile.pluginVersions; if (lastSeenVersion && lastSeenVersion[pluginName] && lastSeenVersion[pluginName] !== pluginJson.version) { - logger("warn", `Plugin '${pluginName}' is outdated! Updating plugin...`, false, false, null, true); // Force print now - } else { - pluginConfig = await this.loadPluginConfig(pluginName).catch((err) => logger("error", `The config of plugin '${pluginName}' is fucked, skipping plugin. ${err}`)); - pluginConfig = this._aggregatePluginConfig(pluginName); + logger("warn", `Detected version change for plugin '${pluginName}'! Updating config...\n You might need to make changes and reload/restart the bot. Please check the plugin's release notes.`, false, false, null, true); // Force print now + pluginConfig = this._aggregatePluginConfig(pluginName, pluginConfig); } + // Update last seen version of this plugin + if (!lastSeenVersion) this.controller.data.cachefile.pluginVersions = {}; + this.controller.data.cachefile.pluginVersions[pluginName] = pluginJson.version; + // Skip plugin if it is disabled if (!pluginConfig || !pluginConfig.enabled) { logger("debug", `Plugin '${pluginName}' is disabled. Skipping plugin...`); @@ -99,9 +107,5 @@ PluginSystem.prototype._loadPlugins = async function () { // eslint-disable-line this.controller.events.on(event, (...args) => pluginInstance[event]?.call(pluginInstance, ...args)); }); - - // Update last seen version of this plugin name - if (!lastSeenVersion) this.controller.data.cachefile.pluginVersions = {}; - this.controller.data.cachefile.pluginVersions[pluginName] = pluginJson.version; } }; diff --git a/src/pluginSystem/pluginSystem.js b/src/pluginSystem/pluginSystem.js index 677558e3..be8d91a1 100644 --- a/src/pluginSystem/pluginSystem.js +++ b/src/pluginSystem/pluginSystem.js @@ -4,7 +4,7 @@ * Created Date: 19.03.2023 13:34:27 * Author: 3urobeat * - * Last Modified: 24.12.2023 13:31:30 + * Last Modified: 24.12.2023 14:19:18 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -156,6 +156,15 @@ PluginSystem.prototype.deletePluginData = function (pluginName, filename) {}; // */ PluginSystem.prototype.loadPluginConfig = function (pluginName) {}; // eslint-disable-line +/** + * Internal: Integrates changes made to a plugin's default config into the user's config + * @author JLCD + * @param {string} pluginName Name of your plugin + * @param {object} currentConfig Config file currently loaded for this plugin + * @returns {Record} The updated config + */ +PluginSystem.prototype._aggregatePluginConfig = function (pluginName, currentConfig) {}; // eslint-disable-line + /** * Writes your plugin config changes to the filesystem. The object data will be processed to JSON. * @param {string} pluginName Name of your plugin @@ -163,9 +172,3 @@ PluginSystem.prototype.loadPluginConfig = function (pluginName) {}; // eslint-di * @returns {Promise.} Resolves on success, rejects otherwise with an error */ PluginSystem.prototype.writePluginConfig = function (pluginName, pluginConfig) {}; // eslint-disable-line -/** - * Integrates changes made to the config to the users config - * @param {string} pluginName Name of your plugin - * @returns {Record} the config - */ -PluginSystem.prototype._aggregatePluginConfig = function (pluginName) {}; // eslint-disable-line From cbcb0b3e58a714ba75a1c6d35f1a318530104a06 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 24 Dec 2023 15:02:18 +0100 Subject: [PATCH 12/33] Ship discord plugin by default --- package-lock.json | 323 ++++++++++++++++++++++++++++++++---- package.json | 1 + src/data/fileStructure.json | 2 +- 3 files changed, 295 insertions(+), 31 deletions(-) diff --git a/package-lock.json b/package-lock.json index c7cb3a54..ee35df09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "https": "^1.0.0", "output-logger": "^2.3.7", "request": "^2.88.2", + "steam-comment-bot-discord-plugin": "^1.0.1", "steam-comment-bot-rest": "^1.1.0", "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", "steam-session": "^1.7.1", @@ -65,6 +66,104 @@ "resolved": "https://registry.npmjs.org/@bbob/plugin-helper/-/plugin-helper-2.9.0.tgz", "integrity": "sha512-idpUcNQ2co6T1oU/7/DG/ZRfipSSkTn9Ozw9f5vaXH7nzV3qhqZnhFVlHTzGGnRlzKlBwWOBzOdWi4Zeqg1c5A==" }, + "node_modules/@discordjs/builders": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.7.0.tgz", + "integrity": "sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw==", + "dependencies": { + "@discordjs/formatters": "^0.3.3", + "@discordjs/util": "^1.0.2", + "@sapphire/shapeshift": "^3.9.3", + "discord-api-types": "0.37.61", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/collection": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", + "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/formatters": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.3.3.tgz", + "integrity": "sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w==", + "dependencies": { + "discord-api-types": "0.37.61" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/rest": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.2.0.tgz", + "integrity": "sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A==", + "dependencies": { + "@discordjs/collection": "^2.0.0", + "@discordjs/util": "^1.0.2", + "@sapphire/async-queue": "^1.5.0", + "@sapphire/snowflake": "^3.5.1", + "@vladfrangu/async_event_emitter": "^2.2.2", + "discord-api-types": "0.37.61", + "magic-bytes.js": "^1.5.0", + "tslib": "^2.6.2", + "undici": "5.27.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/rest/node_modules/@discordjs/collection": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz", + "integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@discordjs/util": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.0.2.tgz", + "integrity": "sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw==", + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/ws": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.0.2.tgz", + "integrity": "sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q==", + "dependencies": { + "@discordjs/collection": "^2.0.0", + "@discordjs/rest": "^2.1.0", + "@discordjs/util": "^1.0.2", + "@sapphire/async-queue": "^1.5.0", + "@types/ws": "^8.5.9", + "@vladfrangu/async_event_emitter": "^2.2.2", + "discord-api-types": "0.37.61", + "tslib": "^2.6.2", + "ws": "^8.14.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/ws/node_modules/@discordjs/collection": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz", + "integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==", + "engines": { + "node": ">=18" + } + }, "node_modules/@doctormckay/stats-reporter": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@doctormckay/stats-reporter/-/stats-reporter-1.0.5.tgz", @@ -156,14 +255,22 @@ } }, "node_modules/@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", @@ -286,15 +393,45 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, + "node_modules/@sapphire/async-queue": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.1.tgz", + "integrity": "sha512-1RdpsmDQR/aWfp8oJzPtn4dNQrbpqSL5PIA0uAB/XwerPXUf994Ug1au1e7uGcD7ei8/F63UDjr5GWps1g/HxQ==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/shapeshift": { + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.5.tgz", + "integrity": "sha512-AGdHe+51gF7D3W8hBfuSFLBocURDCXVQczScTHXDS3RpNjNgrktIx/amlz5y8nHhm8SAdFt/X8EF8ZSfjJ0tnA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.1.tgz", + "integrity": "sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@seald-io/binary-search-tree": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.3.tgz", "integrity": "sha512-qv3jnwoakeax2razYaMsGI/luWdliBLHTdC6jU55hQt1hcFqzauH/HsBollQ7IR4ySTtYhT+xyHoijpA16C+tA==" }, "node_modules/@seald-io/nedb": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@seald-io/nedb/-/nedb-4.0.2.tgz", - "integrity": "sha512-gJ91fT1sgh2cLXYVcTSh7khZ8LdemI8+SojCdpZ5wy+DUQ4fSrEwGqOwbdV49NDs2BBO6GeBpSb8CnhG2IW1rw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@seald-io/nedb/-/nedb-4.0.3.tgz", + "integrity": "sha512-ik4rn0Ks8q1VEzhe6qFh9/MBrw77ym1OZxF2mBS6/H8cr4lpNhCvF8FqB901Oft1CSP50LL0ay4QQCU3xqn+Ew==", "dependencies": { "@seald-io/binary-search-tree": "^1.0.3", "localforage": "^1.9.0", @@ -438,17 +575,17 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/qs": { - "version": "6.9.10", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", - "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" }, "node_modules/@types/range-parser": { "version": "1.2.7", @@ -534,12 +671,29 @@ "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" }, + "node_modules/@types/ws": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", + "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@vladfrangu/async_event_emitter": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.4.tgz", + "integrity": "sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1579,6 +1733,35 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/discord-api-types": { + "version": "0.37.61", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.61.tgz", + "integrity": "sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw==" + }, + "node_modules/discord.js": { + "version": "14.14.1", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.14.1.tgz", + "integrity": "sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w==", + "dependencies": { + "@discordjs/builders": "^1.7.0", + "@discordjs/collection": "1.5.3", + "@discordjs/formatters": "^0.3.3", + "@discordjs/rest": "^2.1.0", + "@discordjs/util": "^1.0.2", + "@discordjs/ws": "^1.0.2", + "@sapphire/snowflake": "3.5.1", + "@types/ws": "8.5.9", + "discord-api-types": "0.37.61", + "fast-deep-equal": "3.1.3", + "lodash.snakecase": "4.1.1", + "tslib": "2.6.2", + "undici": "5.27.2", + "ws": "8.14.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1739,6 +1922,26 @@ "node": ">= 0.6" } }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -1768,15 +1971,15 @@ } }, "node_modules/eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", + "@eslint/js": "8.56.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -1823,9 +2026,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "46.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.9.0.tgz", - "integrity": "sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==", + "version": "46.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.9.1.tgz", + "integrity": "sha512-11Ox5LCl2wY7gGkp9UOyew70o9qvii1daAH+h/MFobRVRNcy7sVlH+jm0HQdgcvcru6285GvpjpUyoa051j03Q==", "dev": true, "dependencies": { "@es-joy/jsdoccomment": "~0.41.0", @@ -1836,7 +2039,7 @@ "esquery": "^1.5.0", "is-builtin-module": "^3.2.1", "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1" + "spdx-expression-parse": "^4.0.0" }, "engines": { "node": ">=16" @@ -2133,9 +2336,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -3235,6 +3438,11 @@ "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, "node_modules/lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", @@ -3273,6 +3481,11 @@ "lzma.js": "bin/lzma.js" } }, + "node_modules/magic-bytes.js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.7.0.tgz", + "integrity": "sha512-YzVU2+/hrjwx8xcgAw+ffNq3jkactpj+f1iSL4LonrFKhvnwDzHSqtFdk/MMRP53y9ScouJ7cKEnqYsJwsHoYA==" + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -4240,6 +4453,26 @@ "ws": "~8.11.0" } }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -4318,9 +4551,9 @@ "dev": true }, "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", @@ -4442,6 +4675,15 @@ "cuint": "^0.2.1" } }, + "node_modules/steam-comment-bot-discord-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/steam-comment-bot-discord-plugin/-/steam-comment-bot-discord-plugin-1.0.1.tgz", + "integrity": "sha512-ZYRNAztqz/X0Cdod5fu5B6jHZJbiQyqh9OeBLUas8FxAQR+dQjv6FaVJDwfSSwkid8HI9nmofjwDhnhKf4Uchw==", + "dependencies": { + "discord.js": "^14.14.1", + "output-logger": "^2.3.7" + } + }, "node_modules/steam-comment-bot-rest": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/steam-comment-bot-rest/-/steam-comment-bot-rest-1.1.0.tgz", @@ -4795,6 +5037,11 @@ "node": ">=0.8.0" } }, + "node_modules/ts-mixer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.3.tgz", + "integrity": "sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==" + }, "node_modules/tsc-watch": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-6.0.4.tgz", @@ -4840,6 +5087,11 @@ "node": ">=4.2.0" } }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -4927,6 +5179,17 @@ "dev": true, "peer": true }, + "node_modules/undici": { + "version": "5.27.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", + "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -5088,15 +5351,15 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { diff --git a/package.json b/package.json index 57d504d3..417457f5 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "https": "^1.0.0", "output-logger": "^2.3.7", "request": "^2.88.2", + "steam-comment-bot-discord-plugin": "^1.0.1", "steam-comment-bot-rest": "^1.1.0", "steam-comment-bot-webserver": "file:plugins/steam-comment-bot-webserver-1.0.0.tgz", "steam-session": "^1.7.1", diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index c0391299..80c97bd3 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "e696be73d5a1543f28c56e0d9f3fd57d" + "checksum": "0582d7859df2f692699a08e9757ed254" }, { "path": "scripts/README.md", From d320fa04519a94f5a8575e97d88d79031982deea Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Sun, 24 Dec 2023 15:15:06 +0100 Subject: [PATCH 13/33] Add a few emojis to the README --- README.md | 13 +++++++++---- src/data/fileStructure.json | 4 ++-- types/types.d.ts | 18 +++++++++++------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1b5ad7e3..6919ebda 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@

Introduction • - Setup & Config Guide • + Setup & Configuration GuideWikiGet HelpLicense @@ -28,9 +28,12 @@   -## **Introduction** + + +## ✨ **Introduction** +**Features:** * Request profile, group, screenshot, artwork, guide or discussion comments directly from the Steam Chat * Manage hundreds of Steam accounts with ease and control them from **one** terminal and Steam Chat * No need of having a Steam Client installed - perfect for hosting on a server @@ -46,13 +49,15 @@ If you would like to rather follow a video than these written instructions, clic   -## Setup & Config Guide: + + +## 🚀 Setup & Configuration Guide: Follow the Wiki's [**Setup Guide by clicking here**](./docs/wiki/setup_guide.md) to get started! This process is pretty simple and should not take you long!   -## Additional Information: +## 💡 Additional Information:

[![Sponsor](https://img.shields.io/badge/Sponsor-%241-orange)](https://github.com/sponsors/3urobeat) ![Star](https://img.shields.io/github/stars/3urobeat/steam-comment-service-bot) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 80c97bd3..d235454c 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -53,7 +53,7 @@ { "path": "README.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/README.md", - "checksum": "3bbdee2047bb9236f7c42d9f4e9c7c9d" + "checksum": "1c634a89128ad04be9e9907ec88c1f0f" }, { "path": "docs/dev/README.md", @@ -803,7 +803,7 @@ { "path": "types/types.d.ts", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/types/types.d.ts", - "checksum": "10e64a2b2d1ad53429f979609785134a" + "checksum": "4c8759a97dd01ab1b0a2e0d1601d80cf" } ] } \ No newline at end of file diff --git a/types/types.d.ts b/types/types.d.ts index 335f6428..f4da86ca 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -1238,10 +1238,12 @@ declare class PluginSystem { */ loadPluginConfig(pluginName: string): Promise; /** - * Integrates changes made to the config to the users config + * Internal: Integrates changes made to a plugin's default config into the user's config + * @param pluginName - Name of your plugin + * @param currentConfig - Config file currently loaded for this plugin * @returns the config */ - aggregatePluginConfig(pluginName: string): Record; + _aggregatePluginConfig(pluginName: string, currentConfig: any): Record; /** * Writes your plugin config changes to the filesystem. The object data will be processed to JSON. * @param pluginName - Name of your plugin @@ -1312,6 +1314,13 @@ declare class PluginSystem { * @returns Resolves with your plugin config processed from JSON to an object. If the config failed to load, the promise will be rejected with an error. */ loadPluginConfig(pluginName: string): Promise; + /** + * Internal: Integrates changes made to a plugin's default config into the user's config + * @param pluginName - Name of your plugin + * @param currentConfig - Config file currently loaded for this plugin + * @returns the config + */ + _aggregatePluginConfig(pluginName: string, currentConfig: any): Record; /** * Writes your plugin config changes to the filesystem. The object data will be processed to JSON. * @param pluginName - Name of your plugin @@ -1319,11 +1328,6 @@ declare class PluginSystem { * @returns Resolves on success, rejects otherwise with an error */ writePluginConfig(pluginName: string, pluginConfig: any): Promise; - /** - * Integrates changes made to the config to the users config - * @returns the config - */ - aggregatePluginConfig(pluginName: string): Record; } /** From 22d108bc984c802910ffb878e37da0f4b99fcd2f Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Mon, 25 Dec 2023 17:00:35 +0100 Subject: [PATCH 14/33] Log friend relationship status in friendMessage and steamChatInteraction handlers --- src/bot/events/friendMessage.js | 16 ++++++++++------ src/bot/helpers/steamChatInteraction.js | 14 +++++++++----- src/data/fileStructure.json | 4 ++-- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/bot/events/friendMessage.js b/src/bot/events/friendMessage.js index d8ac6ff5..4df706f8 100644 --- a/src/bot/events/friendMessage.js +++ b/src/bot/events/friendMessage.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 03.11.2023 22:45:43 + * Last Modified: 25.12.2023 16:54:59 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -15,7 +15,8 @@ */ -const SteamID = require("steamid"); +const SteamUser = require("steam-user"); +const SteamID = require("steamid"); const Bot = require("../bot.js"); @@ -30,9 +31,12 @@ Bot.prototype._attachSteamFriendMessageEvent = function() { let steamID = msg.steamid_friend; let steamID64 = new SteamID(String(steamID)).getSteamID64(); - let username = this.user.users[steamID64].player_name; + let username = this.user.users[steamID64].player_name; - let resInfo = { userID: steamID64, cmdprefix: "!", fromSteamChat: true }; // Object required for sendChatMessage(), our commandHandler respondModule implementation + let relationshipStatus = SteamUser.EFriendRelationship.None; + if (this.user.myFriends[steamID64]) relationshipStatus = SteamUser.EFriendRelationship[this.user.myFriends[steamID64]]; + + let resInfo = { userID: steamID64, cmdprefix: "!", fromSteamChat: true }; // Object required for sendChatMessage(), our commandHandler respondModule implementation // Check if another friendMessage handler is currently active @@ -44,8 +48,8 @@ Bot.prototype._attachSteamFriendMessageEvent = function() { // Log friend message but cut it if it is >= 75 chars - if (message.length >= 75) logger("info", `[${this.logPrefix}] Friend message from '${username}' (${steamID64}): ${message.slice(0, 75) + "..."}`); - else logger("info", `[${this.logPrefix}] Friend message from '${username}' (${steamID64}): ${message}`); + if (message.length >= 75) logger("info", `[${this.logPrefix}] Message from '${username}' (${steamID64}: ${relationshipStatus}): ${message.slice(0, 75) + "..."}`); + else logger("info", `[${this.logPrefix}] Message from '${username}' (${steamID64}: ${relationshipStatus}): ${message}`); // Sort out any chat messages not sent to the main bot diff --git a/src/bot/helpers/steamChatInteraction.js b/src/bot/helpers/steamChatInteraction.js index 866e30de..483a5809 100644 --- a/src/bot/helpers/steamChatInteraction.js +++ b/src/bot/helpers/steamChatInteraction.js @@ -4,7 +4,7 @@ * Created Date: 01.04.2023 21:09:00 * Author: 3urobeat * - * Last Modified: 10.07.2023 09:29:15 + * Last Modified: 25.12.2023 16:45:05 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -40,6 +40,10 @@ Bot.prototype.sendChatMessage = function(_this, resInfo, txt, retry = 0, part = if (typeof txt !== "string") return logger("warn", "sendChatMessage() was called with txt that isn't a string! Ignoring call..."); let steamID64 = resInfo.userID; + let username = _this.user.users[steamID64].player_name; + + let relationshipStatus = SteamUser.EFriendRelationship.None; + if (_this.user.myFriends[steamID64]) relationshipStatus = SteamUser.EFriendRelationship[_this.user.myFriends[steamID64]]; // Allow resInfo to overwrite char limit of 750 chars let limit = 750; @@ -57,10 +61,10 @@ Bot.prototype.sendChatMessage = function(_this, resInfo, txt, retry = 0, part = // Log full message if in debug mode, otherwise log cut down version if (_this.controller.data.advancedconfig.printDebug) { - logger("debug", `[${_this.logPrefix}] Sending message (${thisPart.length} chars) to ${steamID64} (retry: ${retry}, part: ${part}): "${thisPart.replace(/\n/g, "\\n")}"`); + logger("debug", `[${_this.logPrefix}] Sending message (${thisPart.length} chars) to '${username}' (${steamID64}: ${relationshipStatus}) (retry: ${retry}, part: ${part}): "${thisPart.replace(/\n/g, "\\n")}"`); } else { - if (thisPart.length >= 75) logger("info", `[${_this.logPrefix}] Sending message to ${steamID64}: "${thisPart.slice(0, 75).replace(/\n/g, "\\n") + "..."}"`); - else logger("info", `[${_this.logPrefix}] Sending message to ${steamID64}: "${thisPart.replace(/\n/g, "\\n")}"`); + if (thisPart.length >= 75) logger("info", `[${_this.logPrefix}] Sending message to '${username}' (${steamID64}: ${relationshipStatus}): "${thisPart.slice(0, 75).replace(/\n/g, "\\n") + "..."}"`); + else logger("info", `[${_this.logPrefix}] Sending message to '${username}' (${steamID64}: ${relationshipStatus}): "${thisPart.replace(/\n/g, "\\n")}"`); } // Send part and call function again if this wasn't the last one @@ -162,4 +166,4 @@ Bot.prototype.readChatMessage = function(steamID64, timeout) { }, timeout); } }); -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index d235454c..0ad1d482 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -328,7 +328,7 @@ { "path": "src/bot/events/friendMessage.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/friendMessage.js", - "checksum": "036cdfeba83ab1c9f333c6242866b0d3" + "checksum": "b1861a5c2113c5678590a2a3dae2d6e6" }, { "path": "src/bot/events/loggedOn.js", @@ -368,7 +368,7 @@ { "path": "src/bot/helpers/steamChatInteraction.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/steamChatInteraction.js", - "checksum": "8fb070e6107bf3dc30f1655f555ab986" + "checksum": "ecdf55038bddfe41abb421ffd3dfd662" }, { "path": "src/commands/commandHandler.js", From 8e06017bc60e3526f91c2f6dad0d063bd34c5f9f Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Mon, 25 Dec 2023 17:01:05 +0100 Subject: [PATCH 15/33] Misc & Formatting --- src/commands/core/comment.js | 8 ++++---- src/commands/helpers/getCommentBots.js | 10 ++++++---- src/data/fileStructure.json | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/commands/core/comment.js b/src/commands/core/comment.js index 593338fe..7e4d569b 100644 --- a/src/commands/core/comment.js +++ b/src/commands/core/comment.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 25.12.2023 15:41:36 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -259,8 +259,8 @@ module.exports.comment = { * @param {string} receiverSteamID64 steamID64 of the profile to receive the comments */ async function comment(commandHandler, resInfo, respond, postComment, commentArgs, receiverSteamID64) { - let activeReqEntry = commandHandler.controller.activeRequests[receiverSteamID64]; // Make using the obj shorter - let requesterID = resInfo.userID; + let activeReqEntry = commandHandler.controller.activeRequests[receiverSteamID64]; // Make using the obj shorter + let requesterID = resInfo.userID; // Log request start and give user cooldown on the first iteration @@ -409,4 +409,4 @@ async function comment(commandHandler, resInfo, respond, postComment, commentArg commandHandler.controller.info.commentCounter += activeReqEntry.amount - activeReqEntry.amountBeforeRetry - Object.keys(activeReqEntry.failed).length; // Add numberOfComments of this attempt minus failedamount to commentCounter }); -} \ No newline at end of file +} diff --git a/src/commands/helpers/getCommentBots.js b/src/commands/helpers/getCommentBots.js index 3ece9cdc..a0336f42 100644 --- a/src/commands/helpers/getCommentBots.js +++ b/src/commands/helpers/getCommentBots.js @@ -4,7 +4,7 @@ * Created Date: 09.04.2023 12:49:53 * Author: 3urobeat * - * Last Modified: 24.09.2023 13:12:26 + * Last Modified: 25.12.2023 16:56:04 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -15,6 +15,8 @@ */ +const { EFriendRelationship } = require("steam-user"); + const CommandHandler = require("../commandHandler.js"); // eslint-disable-line const { timeToString } = require("../../controller/helpers/misc.js"); @@ -93,8 +95,8 @@ module.exports.getAvailableBotsForCommenting = function(commandHandler, numberOf // Prioritize accounts the user is friend with if (receiverSteamID) { allAccounts = [ - ...allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] == 3), // Cool trick to get every acc with user as friend to the top - ...allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] != 3) // ...and every non-friend acc below + ...allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] == EFriendRelationship.Friend), // Cool trick to get every acc with user as friend to the top + ...allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] != EFriendRelationship.Friend) // ...and every non-friend acc below ]; } @@ -124,4 +126,4 @@ module.exports.getAvailableBotsForCommenting = function(commandHandler, numberOf "whenAvailableStr": whenAvailableStr }; -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 0ad1d482..39cdb7f5 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -383,7 +383,7 @@ { "path": "src/commands/core/comment.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/comment.js", - "checksum": "17a0106bd432bd48bb3fe4b31f0b45d1" + "checksum": "c4ed4c88db4f30900299bbe4a3fbfd36" }, { "path": "src/commands/core/favorite.js", @@ -438,7 +438,7 @@ { "path": "src/commands/helpers/getCommentBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getCommentBots.js", - "checksum": "eab2934e073186ad6e84ea8c3b1070d1" + "checksum": "730420b5383daea1fb3adbafa9ab5e84" }, { "path": "src/commands/helpers/getFavoriteBots.js", From 240ad2a77456db68c8c0addd6cfb4e653557f6a3 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Mon, 25 Dec 2023 20:43:01 +0100 Subject: [PATCH 16/33] Force set working dir to fix relative path issues #217 --- src/data/fileStructure.json | 2 +- start.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 39cdb7f5..da1631d7 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -798,7 +798,7 @@ { "path": "start.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/start.js", - "checksum": "351e75059b7221227c899256ef706de1" + "checksum": "d3504b52fa12ee232ac83dfb6f19f7b1" }, { "path": "types/types.d.ts", diff --git a/start.js b/start.js index aed97212..ec385a31 100644 --- a/start.js +++ b/start.js @@ -4,7 +4,7 @@ * Created Date: 15.01.2020 10:38:00 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:46:02 + * Last Modified: 25.12.2023 20:38:51 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -49,7 +49,12 @@ module.exports.restart = (args) => { }; -/* ---------- Get filetostart if it doesn't exist ---------- */ +/* ------------------ Entry point ------------------ */ + +// Force working directory to fix relative path issues when starting bot using absolute path. Fixes: https://github.com/3urobeat/steam-comment-service-bot/issues/217 +process.chdir(__dirname); + +// Get filetostart if it doesn't exist let fs = require("fs"); let extdata = getExtdata(); @@ -83,4 +88,4 @@ if (!fs.existsSync(extdata.filetostart)) { // Function that downloads filetostar require(extdata.filetostart).run(); // Start application } -// Code by: https://github.com/3urobeat/ \ No newline at end of file +// Code by: https://github.com/3urobeat/ From bbd97d5643e8bb3529ac9cddf34e0428777fac26 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Mon, 25 Dec 2023 22:15:48 +0100 Subject: [PATCH 17/33] Fix TypeError and missing license detected when null was provided --- src/bot/helpers/handleMissingGameLicenses.js | 8 ++++---- src/data/fileStructure.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bot/helpers/handleMissingGameLicenses.js b/src/bot/helpers/handleMissingGameLicenses.js index 3f73deef..d0b72c61 100644 --- a/src/bot/helpers/handleMissingGameLicenses.js +++ b/src/bot/helpers/handleMissingGameLicenses.js @@ -4,7 +4,7 @@ * Created Date: 29.06.2023 21:31:53 * Author: 3urobeat * - * Last Modified: 14.10.2023 10:35:38 + * Last Modified: 25.12.2023 22:12:16 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -27,7 +27,7 @@ Bot.prototype.handleMissingGameLicenses = function() { // Check if user provided games specifically for this account. We only need to check this for child accounts let configChildGames = data.config.childaccplayinggames; - if (typeof configChildGames[0] == "object") { + if (typeof configChildGames[0] == "object" && configChildGames[0] != null) { // - typeof null == "object" if (Object.keys(configChildGames[0]).includes(this.loginData.logOnOptions.accountName)) configChildGames = configChildGames[0][this.loginData.logOnOptions.accountName]; // Get the specific settings for this account if included else configChildGames = configChildGames.slice(1); // ...otherwise remove object containing acc specific settings to use the generic ones @@ -40,7 +40,7 @@ Bot.prototype.handleMissingGameLicenses = function() { let options = { includePlayedFreeGames: true, - filterAppids: this.index == 0 ? data.config.playinggames.filter(e => !isNaN(e)) : configChildGames.filter(e => !isNaN(e)), // We only need to check for these appIDs. Filter custom game string + filterAppids: this.index == 0 ? data.config.playinggames.filter(e => !isNaN(e)) : configChildGames.filter(e => !isNaN(e) && e != null), // We only need to check for these appIDs. Filter custom game string and null values includeFreeSub: false }; @@ -94,4 +94,4 @@ Bot.prototype.handleMissingGameLicenses = function() { startPlaying(); } -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index da1631d7..9af16be5 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -358,7 +358,7 @@ { "path": "src/bot/helpers/handleMissingGameLicenses.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/handleMissingGameLicenses.js", - "checksum": "841bf2256855624b39a5370a67c09bc0" + "checksum": "a2f8b1267bc2cda3bc2b5a0281fd9b52" }, { "path": "src/bot/helpers/handleRelog.js", From c32c906cf841e1da92c8ce1dc46edfe4ede7c77f Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Tue, 26 Dec 2023 15:47:15 +0100 Subject: [PATCH 18/33] Insert user on failed follow request anyway as enum 2 is used for duplicate requests --- src/commands/core/favorite.js | 6 +++--- src/commands/core/follow.js | 12 ++++++++---- src/commands/core/vote.js | 8 ++++---- src/data/fileStructure.json | 6 +++--- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/commands/core/favorite.js b/src/commands/core/favorite.js index ecc96d1b..9e85c733 100644 --- a/src/commands/core/favorite.js +++ b/src/commands/core/favorite.js @@ -4,7 +4,7 @@ * Created Date: 02.06.2023 13:23:01 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 26.12.2023 15:23:41 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -157,7 +157,7 @@ module.exports.favorite = { if (!handleFavoriteIterationSkip(commandHandler, loop, bot, id)) return; // Skip iteration if false was returned /* --------- Try to favorite --------- */ - bot.community.favoriteSharedFile(sharedfile.id, sharedfile.appID, (error) => { + bot.community.favoriteSharedFile(sharedfile.id, sharedfile.appID, (error) => { // Note: Steam does not return an error for a duplicate request here /* --------- Handle errors thrown by this favorite attempt or update ratingHistory db and log success message --------- */ if (error) { @@ -399,4 +399,4 @@ module.exports.unfavorite = { }); }); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/follow.js b/src/commands/core/follow.js index 2ae43ad2..4e3284ed 100644 --- a/src/commands/core/follow.js +++ b/src/commands/core/follow.js @@ -4,7 +4,7 @@ * Created Date: 24.09.2023 15:04:33 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 26.12.2023 15:44:23 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -157,8 +157,9 @@ module.exports.follow = { /* --------- Handle errors thrown by this follow attempt or update ratingHistory db and log success message --------- */ if (error) { logFollowError(error, commandHandler, bot, id); + } - } else { + if (!error || error.eresult == 2) { // Steam returns Enum 2 ("Fail") for duplicate requests // Add follow entry commandHandler.data.ratingHistoryDB.insert({ id: id, accountName: activeReqEntry.accounts[i], type: idType + "Follow", time: Date.now() }, (err) => { @@ -168,6 +169,7 @@ module.exports.follow = { // Log success message if (commandHandler.data.proxies.length > 1) logger("info", `[${bot.logPrefix}] Sending follow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${idType} ${id} with proxy ${bot.loginData.proxyIndex}...`); else logger("info", `[${bot.logPrefix}] Sending follow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${idType} ${id}...`); + } // Continue with the next iteration @@ -341,8 +343,9 @@ module.exports.unfollow = { /* --------- Handle errors thrown by this unfollow attempt or update ratingHistory db and log success message --------- */ if (error) { logFollowError(error, commandHandler, bot, id); + } - } else { + if (!error || error.eresult == 2) { // Steam returns Enum 2 ("Fail") for duplicate requests // Remove follow entry commandHandler.data.ratingHistoryDB.remove({ id: id, accountName: activeReqEntry.accounts[i], type: idType + "Follow" }, (err) => { @@ -352,6 +355,7 @@ module.exports.unfollow = { // Log success message if (commandHandler.data.proxies.length > 1) logger("info", `[${bot.logPrefix}] Sending unfollow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${idType} ${id} with proxy ${bot.loginData.proxyIndex}...`); else logger("info", `[${bot.logPrefix}] Sending unfollow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${idType} ${id}...`); + } // Continue with the next iteration @@ -387,4 +391,4 @@ module.exports.unfollow = { }); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/vote.js b/src/commands/core/vote.js index f3f351e7..7fd62be5 100644 --- a/src/commands/core/vote.js +++ b/src/commands/core/vote.js @@ -4,7 +4,7 @@ * Created Date: 28.05.2023 12:02:24 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 26.12.2023 15:42:06 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -157,7 +157,7 @@ module.exports.upvote = { if (!handleVoteIterationSkip(commandHandler, loop, bot, id)) return; // Skip iteration if false was returned /* --------- Try to vote --------- */ - bot.community.voteUpSharedFile(sharedfile.id, (error) => { + bot.community.voteUpSharedFile(sharedfile.id, (error) => { // Note: Steam does not return an error for a duplicate request here /* --------- Handle errors thrown by this vote attempt or update ratingHistory db and log success message --------- */ if (error) { @@ -352,7 +352,7 @@ module.exports.downvote = { if (!handleVoteIterationSkip(commandHandler, loop, bot, id)) return; // Skip iteration if false was returned /* --------- Try to vote --------- */ - bot.community.voteDownSharedFile(sharedfile.id, (error) => { + bot.community.voteDownSharedFile(sharedfile.id, (error) => { // Note: Steam does not return an error for a duplicate request here /* --------- Handle errors thrown by this vote attempt or update ratingHistory db and log success message --------- */ if (error) { @@ -409,4 +409,4 @@ module.exports.downvote = { }); }); } -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 9af16be5..6d53349d 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -388,12 +388,12 @@ { "path": "src/commands/core/favorite.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/favorite.js", - "checksum": "c04d5a5108404fe2c553ef1ebf9615bf" + "checksum": "a74f5c51b4f9f2740b50436a656a500b" }, { "path": "src/commands/core/follow.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/follow.js", - "checksum": "fc00572ec05fce0040ee0eb518e8fa1d" + "checksum": "ba27773b7fd6f2b7b7ae1fff58440cec" }, { "path": "src/commands/core/friend.js", @@ -428,7 +428,7 @@ { "path": "src/commands/core/vote.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/vote.js", - "checksum": "c5f08b08c385d58c36040c3c94c7bdd8" + "checksum": "cf87ed68aa1b9735764d82cefb73690f" }, { "path": "src/commands/helpers/getCommentArgs.js", From 4f9acd7fa9dd2fd9af291af70462c3403cd51e68 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Tue, 26 Dec 2023 16:32:44 +0100 Subject: [PATCH 19/33] Improve failed response for non-comment requests --- src/commands/core/requests.js | 8 ++++---- src/commands/helpers/handleCommentSkips.js | 18 +++++++++--------- src/commands/helpers/handleFollowErrors.js | 12 ++++++------ src/commands/helpers/handleSharedfileErrors.js | 18 +++++++++--------- src/data/fileStructure.json | 10 +++++----- src/data/lang/english.json | 6 +++--- 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/commands/core/requests.js b/src/commands/core/requests.js index 6917f8ef..dd38429b 100644 --- a/src/commands/core/requests.js +++ b/src/commands/core/requests.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 26.12.2023 16:22:51 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -139,7 +139,7 @@ module.exports.resetCooldown = { module.exports.failed = { names: ["failed"], - description: "See the exact errors of the last comment request on your profile or provide an ID to see the errors of the last request you started. Owners can also view errors for requests started by other users", + description: "Displays the exact errors of the last request for your profile. Alternatively provide an ID of a request you have started. Owners can also view errors for requests started by other users.", args: [ { name: "ID", @@ -194,7 +194,7 @@ module.exports.failed = { let messagestart = await commandHandler.data.getLang("failedcmdmsg", { "steamID64": userID, "requesttime": requestTime }, resInfo.userID); // Send message and limit to 500 chars as this call can cause many messages to be sent - respondModule(context, { prefix: "/pre", charLimit: 500, ...resInfo }, messagestart + "\nc = Comment, b = Bot, p = Proxy\n\n" + failedcommentsstr); // Pass new resInfo object which contains prefix and everything the original resInfo obj contained + respondModule(context, { prefix: "/pre", charLimit: 500, ...resInfo }, messagestart + "\ni = Index, b = Bot, p = Proxy\n\n" + failedcommentsstr); // Pass new resInfo object which contains prefix and everything the original resInfo obj contained }); } }; @@ -289,4 +289,4 @@ module.exports.mySessions = { respond(await commandHandler.data.getLang("mysessionscmdnosessions", null, resInfo.userID)); } } -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/handleCommentSkips.js b/src/commands/helpers/handleCommentSkips.js index cf995eab..a5a9b463 100644 --- a/src/commands/helpers/handleCommentSkips.js +++ b/src/commands/helpers/handleCommentSkips.js @@ -4,7 +4,7 @@ * Created Date: 28.02.2022 12:22:48 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:33:05 + * Last Modified: 26.12.2023 16:30:42 * Modified By: 3urobeat * * Copyright (c) 2022 3urobeat @@ -33,7 +33,7 @@ module.exports.handleIterationSkip = (commandHandler, loop, bot, receiverSteamID // Check if no bot account was found if (!bot) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; logger("error", `[Bot ?] Error posting comment ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} to ${receiverSteamID64}: Bot account '${activeReqEntry.accounts[loop.index() % activeReqEntry.accounts.length]}' does not exist?! Skipping...`); loop.next(); @@ -42,7 +42,7 @@ module.exports.handleIterationSkip = (commandHandler, loop, bot, receiverSteamID // Check if bot account is offline if (bot.status != Bot.EStatus.ONLINE) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; logger("error", `[${bot.logPrefix}] Error posting comment ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} to ${receiverSteamID64}: Skipped because bot account is offline`); loop.next(); @@ -58,7 +58,7 @@ module.exports.handleIterationSkip = (commandHandler, loop, bot, receiverSteamID for (let i = activeReqEntry.thisIteration; i < activeReqEntry.amount; i++) { // Iterate over all remaining comments by starting with thisIteration till numberOfComments let thisbot = commandHandler.controller.getBots("*", true)[activeReqEntry.accounts[i % activeReqEntry.accounts.length]]; - activeReqEntry.failed[`c${i + 1} b${thisbot.index} p${thisbot.loginData.proxyIndex}`] = "Skipped because comment process was aborted"; + activeReqEntry.failed[`i${i + 1} b${thisbot.index} p${thisbot.loginData.proxyIndex}`] = "Skipped because comment process was aborted"; } } @@ -86,7 +86,7 @@ module.exports.handleIterationSkip = (commandHandler, loop, bot, receiverSteamID } // Check if this iteration would use a blocked proxy by checking for existing failed obj entry for this iteration - if (activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`]) { + if (activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`]) { logger("debug", "CommandHandler handleIterationSkip(): Iteration would use a failed proxy, skipping..."); loop.next(); return false; @@ -126,7 +126,7 @@ module.exports.logCommentError = (error, commandHandler, bot, receiverSteamID64) // Add to failed obj if proxies match if (thisbot.loginData.proxyIndex == bot.loginData.proxyIndex) { - activeReqEntry.failed[`c${i + 1} b${thisbot.index} p${thisbot.loginData.proxyIndex}`] = "Skipped because of previous HTTP error 429 on this IP"; + activeReqEntry.failed[`i${i + 1} b${thisbot.index} p${thisbot.loginData.proxyIndex}`] = "Skipped because of previous HTTP error 429 on this IP"; } } break; @@ -166,7 +166,7 @@ module.exports.logCommentError = (error, commandHandler, bot, receiverSteamID64) // Log error, add it to failed obj and continue with next iteration logger("error", `[${bot.logPrefix}] Error posting comment ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} to ${receiverSteamID64}${proxiesDescription}: ${error}`); - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error} [${description}]`; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error} [${description}]`; // Sort failed object to make it easier to read @@ -180,7 +180,7 @@ module.exports.logCommentError = (error, commandHandler, bot, receiverSteamID64) */ function sortFailedCommentsObject(failedObj) { let sortedvals = Object.keys(failedObj).sort((a, b) => { - return Number(a.split(" ")[0].replace("c", "")) - Number(b.split(" ")[0].replace("c", "")); + return Number(a.split(" ")[0].replace("i", "")) - Number(b.split(" ")[0].replace("i", "")); }); // Map sortedvals back to object if array is not empty - Credit: https://www.geeksforgeeks.org/how-to-create-an-object-from-two-arrays-in-javascript/ @@ -231,4 +231,4 @@ module.exports.failedCommentsObjToString = (obj) => { // Return string and remove trailing newline return str.trim(); -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/handleFollowErrors.js b/src/commands/helpers/handleFollowErrors.js index 461e08ed..074b5955 100644 --- a/src/commands/helpers/handleFollowErrors.js +++ b/src/commands/helpers/handleFollowErrors.js @@ -4,7 +4,7 @@ * Created Date: 24.09.2023 22:57:21 * Author: 3urobeat * - * Last Modified: 25.09.2023 18:35:20 + * Last Modified: 26.12.2023 16:30:54 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -31,7 +31,7 @@ module.exports.handleFollowIterationSkip = function(commandHandler, loop, bot, i // Check if no bot account was found if (!bot) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; logger("error", `[Bot ?] Error while sending un-/follow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${id}: Bot account '${activeReqEntry.accounts[loop.index() % activeReqEntry.accounts.length]}' does not exist?! Skipping...`); loop.next(); @@ -40,7 +40,7 @@ module.exports.handleFollowIterationSkip = function(commandHandler, loop, bot, i // Check if bot account is offline if (bot.status != Bot.EStatus.ONLINE) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; logger("error", `[${bot.logPrefix}] Error while sending un-/follow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${id}: Skipped because bot account is offline`); loop.next(); @@ -70,7 +70,7 @@ module.exports.logFollowError = (error, commandHandler, bot, id) => { // Log error, add it to failed obj and continue with next iteration logger("error", `[${bot.logPrefix}] Error while sending un-/follow ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} for ${id}${proxiesDescription}: ${error}`); - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; // Sort failed object to make it easier to read @@ -84,11 +84,11 @@ module.exports.logFollowError = (error, commandHandler, bot, id) => { */ function sortFailedCommentsObject(failedObj) { let sortedvals = Object.keys(failedObj).sort((a, b) => { - return Number(a.split(" ")[0].replace("c", "")) - Number(b.split(" ")[0].replace("c", "")); + return Number(a.split(" ")[0].replace("i", "")) - Number(b.split(" ")[0].replace("i", "")); }); // Map sortedvals back to object if array is not empty - Credit: https://www.geeksforgeeks.org/how-to-create-an-object-from-two-arrays-in-javascript/ if (sortedvals.length > 0) failedObj = Object.assign(...sortedvals.map(k => ({ [k]: failedObj[k] }))); return failedObj; -} \ No newline at end of file +} diff --git a/src/commands/helpers/handleSharedfileErrors.js b/src/commands/helpers/handleSharedfileErrors.js index 8190b00c..d4ddbe4e 100644 --- a/src/commands/helpers/handleSharedfileErrors.js +++ b/src/commands/helpers/handleSharedfileErrors.js @@ -4,7 +4,7 @@ * Created Date: 31.05.2023 16:57:21 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:51:58 + * Last Modified: 26.12.2023 16:31:02 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -31,7 +31,7 @@ module.exports.handleVoteIterationSkip = function(commandHandler, loop, bot, id) // Check if no bot account was found if (!bot) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; logger("error", `[Bot ?] Error while voting ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}: Bot account '${activeReqEntry.accounts[loop.index() % activeReqEntry.accounts.length]}' does not exist?! Skipping...`); loop.next(); @@ -40,7 +40,7 @@ module.exports.handleVoteIterationSkip = function(commandHandler, loop, bot, id) // Check if bot account is offline if (bot.status != Bot.EStatus.ONLINE) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; logger("error", `[${bot.logPrefix}] Error while voting ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}: Skipped because bot account is offline`); loop.next(); @@ -65,7 +65,7 @@ module.exports.handleFavoriteIterationSkip = function(commandHandler, loop, bot, // Check if no bot account was found if (!bot) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b? p?`] = "Skipped because bot account does not exist"; logger("error", `[Bot ?] Error while un-/favorizing ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}: Bot account '${activeReqEntry.accounts[loop.index() % activeReqEntry.accounts.length]}' does not exist?! Skipping...`); loop.next(); @@ -74,7 +74,7 @@ module.exports.handleFavoriteIterationSkip = function(commandHandler, loop, bot, // Check if bot account is offline if (bot.status != Bot.EStatus.ONLINE) { - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = "Skipped because bot account is offline"; logger("error", `[${bot.logPrefix}] Error while un-/favorizing ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}: Skipped because bot account is offline`); loop.next(); @@ -104,7 +104,7 @@ module.exports.logVoteError = (error, commandHandler, bot, id) => { // Log error, add it to failed obj and continue with next iteration logger("error", `[${bot.logPrefix}] Error while voting ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}${proxiesDescription}: ${error}`); - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; // Sort failed object to make it easier to read @@ -130,7 +130,7 @@ module.exports.logFavoriteError = (error, commandHandler, bot, id) => { // Log error, add it to failed obj and continue with next iteration logger("error", `[${bot.logPrefix}] Error while un-/favorizing ${activeReqEntry.thisIteration + 1}/${activeReqEntry.amount} on ${id}${proxiesDescription}: ${error}`); - activeReqEntry.failed[`c${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; + activeReqEntry.failed[`i${activeReqEntry.thisIteration + 1} b${bot.index} p${bot.loginData.proxyIndex}`] = `${error}`; // Sort failed object to make it easier to read @@ -144,11 +144,11 @@ module.exports.logFavoriteError = (error, commandHandler, bot, id) => { */ function sortFailedCommentsObject(failedObj) { let sortedvals = Object.keys(failedObj).sort((a, b) => { - return Number(a.split(" ")[0].replace("c", "")) - Number(b.split(" ")[0].replace("c", "")); + return Number(a.split(" ")[0].replace("i", "")) - Number(b.split(" ")[0].replace("i", "")); }); // Map sortedvals back to object if array is not empty - Credit: https://www.geeksforgeeks.org/how-to-create-an-object-from-two-arrays-in-javascript/ if (sortedvals.length > 0) failedObj = Object.assign(...sortedvals.map(k => ({ [k]: failedObj[k] }))); return failedObj; -} \ No newline at end of file +} diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 6d53349d..66a7e6fc 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -413,7 +413,7 @@ { "path": "src/commands/core/requests.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/requests.js", - "checksum": "18c4250b933248e4f720d7b26e290194" + "checksum": "d1407229e8ab96cd5d1738ede982ca53" }, { "path": "src/commands/core/settings.js", @@ -468,17 +468,17 @@ { "path": "src/commands/helpers/handleCommentSkips.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleCommentSkips.js", - "checksum": "e655f536e02eb5d49258a175965f103c" + "checksum": "63039c3a8984a025af13145e42bf2811" }, { "path": "src/commands/helpers/handleFollowErrors.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleFollowErrors.js", - "checksum": "04b3bd7ca1886a82e188e9f79d650d54" + "checksum": "6ab3ae0cdee9023d28c60f81145f02c9" }, { "path": "src/commands/helpers/handleSharedfileErrors.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleSharedfileErrors.js", - "checksum": "f465cd711557a8ce0d5790a969aca793" + "checksum": "812dd3a4fbdf1c6577b8d824eb7f78a6" }, { "path": "src/controller/controller.js", @@ -548,7 +548,7 @@ { "path": "src/data/lang/english.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/data/lang/english.json", - "checksum": "609fb752852f8401ba5972668b74aa3c" + "checksum": "fdfdd40f94119931dfb91a65736b9c5d" }, { "path": "src/data/lang/russian.json", diff --git a/src/data/lang/english.json b/src/data/lang/english.json index d0aee007..7680e140 100644 --- a/src/data/lang/english.json +++ b/src/data/lang/english.json @@ -23,7 +23,7 @@ "commenterroroccurred": "Oops, an error occurred! I sadly wasn't able to comment.", "commentprocessstarted": "Estimated wait time for ${numberOfComments} comments: ${waittime}.", "commentfailedcmdreference": "To get detailed information why which comment failed please type '${cmdprefix}failed'. You can read what probably caused your error here: https://github.com/3urobeat/steam-comment-service-bot/blob/master/docs/wiki/errors_doc.md", - + "comment429stop": "Stopped comment process because all proxies had a HTTP 429 (IP cooldown) error. Please try again later. Failed: ${failedamount}/${numberOfComments}", "commentretrying": "${failedamount}/${numberOfComments} comments have failed. I'm going to retry the failed comments in untilStr. (Attempt ${thisattempt}/${maxattempt})", "commentsuccess": "All comments have been sent. Failed: ${failedamount}/${numberOfComments}\nIf you are a nice person then please comment on my profile too!", @@ -109,7 +109,7 @@ "settingscmdvaluereset": "The DataManager rejected this change with this warning:", "settingscmdvaluechanged": "${targetkey} has been changed from ${oldvalue} to ${newvalue}.\nPlease remember that certain values might need a restart to take effect. You can do that by typing ${cmdprefix}restart.", - "failedcmdnothingfound": "I can't remember any failed comments on your/that ID.\nIf you requested comments for another profile, group, sharedfile or discussion then please provide that ID/URL as argument!", + "failedcmdnothingfound": "I can't remember any failed interactions on your/that ID.\nIf you requested something for another profile, group, sharedfile or discussion then please provide that ID/URL as argument!", "failedcmdmsg": "Your last request for '${steamID64}' finished at '${requesttime}' (GMT time) had these errors:", "sessionscmdnosessions": "There are currently no active sessions and no bot accounts on cooldown.", @@ -140,4 +140,4 @@ "evalcmdlogininfoblock": "Your code includes 'logininfo'. In order to protect passwords this is not allowed.", "childbotmessage": "This is one account running in a bot cluster.\nPlease add the main bot and send him a ${cmdprefix}help message.\nIf you want to check out what this is about, type: ${cmdprefix}about\nThis is the main bot account:" -} \ No newline at end of file +} From a1eda4bc2ab4d9e7cdf4707f9d75618b9a79dc8b Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Tue, 26 Dec 2023 19:42:44 +0100 Subject: [PATCH 20/33] Remove a few unnecessary last iteration checks --- src/bot/events/webSession.js | 12 ++-- src/commands/commandHandler.js | 16 ++--- src/commands/core/requests.js | 70 ++++++++----------- src/controller/events/ready.js | 17 ++--- src/controller/helpers/npminteraction.js | 7 +- src/data/fileStructure.json | 16 ++--- .../helpers/handleExpiringTokens.js | 14 ++-- src/dataManager/helpers/misc.js | 10 +-- src/updater/helpers/prepareUpdate.js | 32 ++++----- 9 files changed, 87 insertions(+), 107 deletions(-) diff --git a/src/bot/events/webSession.js b/src/bot/events/webSession.js index d4e1f859..d8bda4ef 100644 --- a/src/bot/events/webSession.js +++ b/src/bot/events/webSession.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 13:13:22 + * Last Modified: 26.12.2023 19:09:27 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -93,11 +93,11 @@ Bot.prototype._attachSteamWebSessionEvent = function() { } } + } - // Log info msg about ignored friend requests - if (i + 1 == Object.keys(this.user.myFriends).length && ignoredFriendRequests > 0) { - logger("info", `Ignored ${ignoredFriendRequests} pending friend request(s) because acceptFriendRequests is turned off in advancedconfig.json.`); - } + // Log info msg about ignored friend requests + if (ignoredFriendRequests > 0) { + logger("info", `Ignored ${ignoredFriendRequests} pending friend request(s) because acceptFriendRequests is turned off in advancedconfig.json.`); } // Groups: @@ -156,4 +156,4 @@ Bot.prototype._attachSteamWebSessionEvent = function() { }); -}; \ No newline at end of file +}; diff --git a/src/commands/commandHandler.js b/src/commands/commandHandler.js index 90146807..1574b055 100644 --- a/src/commands/commandHandler.js +++ b/src/commands/commandHandler.js @@ -4,7 +4,7 @@ * Created Date: 01.04.2023 21:54:21 * Author: 3urobeat * - * Last Modified: 25.10.2023 21:35:23 + * Last Modified: 26.12.2023 19:27:02 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -82,7 +82,7 @@ CommandHandler.prototype._importCoreCommands = function() { } // Iterate over all files in this dir - files.forEach((e, i) => { + files.forEach((e) => { let thisFile; // Try to load plugin @@ -92,18 +92,14 @@ CommandHandler.prototype._importCoreCommands = function() { // Push all exported commands in this file into the command list Object.values(thisFile).every(val => this.commands.push(val)); - } catch (err) { - logger("error", `Error loading core command '${e}'! ${err.stack}`, true); } - - if (i + 1 == files.length) { - logger("info", `CommandHandler: Successfully loaded ${this.commands.length} core commands!`, false, true, logger.animation("loading")); - resolve(); - } }); + logger("info", `CommandHandler: Successfully loaded ${this.commands.length} core commands!`, false, true, logger.animation("loading")); + resolve(); + }); }); @@ -257,4 +253,4 @@ CommandHandler.prototype.reloadCommands = function() { }; -module.exports = CommandHandler; \ No newline at end of file +module.exports = CommandHandler; diff --git a/src/commands/core/requests.js b/src/commands/core/requests.js index dd38429b..1f65f973 100644 --- a/src/commands/core/requests.js +++ b/src/commands/core/requests.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 16:22:51 + * Last Modified: 26.12.2023 19:33:31 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -217,26 +217,22 @@ module.exports.sessions = { run: async (commandHandler, args, respondModule, context, resInfo) => { let respond = ((txt) => respondModule(context, resInfo, txt)); // Shorten each call + // Don't bother if there is no active request + if (Object.keys(commandHandler.controller.activeRequests).length == 0) return respond(await commandHandler.data.getLang("sessionscmdnosessions", null, resInfo.userID)); + + // Loop through every entry and push it to str let str = ""; - if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Only loop through object if it isn't empty - let objlength = Object.keys(commandHandler.controller.activeRequests).length; // Save this before the loop as deleting entries will change this number and lead to the loop finished check never triggering - - Object.keys(commandHandler.controller.activeRequests).forEach(async (e, i) => { - if (Date.now() < commandHandler.controller.activeRequests[e].until + (commandHandler.data.config.botaccountcooldown * 60000)) { // Check if entry is not finished yet - str += `- Status: ${commandHandler.controller.activeRequests[e].status} | ${commandHandler.controller.activeRequests[e].amount} iterations with ${commandHandler.controller.activeRequests[e].accounts.length} accounts by ${commandHandler.controller.activeRequests[e].requestedby} for ${commandHandler.controller.activeRequests[e].type} ${Object.keys(commandHandler.controller.activeRequests)[i]}\n`; - } else { - delete commandHandler.controller.activeRequests[e]; // Remove entry from object if it is finished to keep the object clean - } - - if (i == objlength - 1) { - if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Check if obj is still not empty - respond((await commandHandler.data.getLang("sessionscmdmsg", { "amount": Object.keys(commandHandler.controller.activeRequests).length }, resInfo.userID)) + "\n" + str); - } else { - respond(await commandHandler.data.getLang("sessionscmdnosessions", null, resInfo.userID)); - } - } - }); + Object.keys(commandHandler.controller.activeRequests).forEach((e, i) => { + if (Date.now() < commandHandler.controller.activeRequests[e].until + (commandHandler.data.config.botaccountcooldown * 60000)) { // Check if entry is not finished yet + str += `- Status: ${commandHandler.controller.activeRequests[e].status} | ${commandHandler.controller.activeRequests[e].amount} iterations with ${commandHandler.controller.activeRequests[e].accounts.length} accounts by ${commandHandler.controller.activeRequests[e].requestedby} for ${commandHandler.controller.activeRequests[e].type} ${Object.keys(commandHandler.controller.activeRequests)[i]}\n`; + } else { + delete commandHandler.controller.activeRequests[e]; // Remove entry from object if it is finished to keep the object clean + } + }); + + if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Check if obj is still not empty + respond((await commandHandler.data.getLang("sessionscmdmsg", { "amount": Object.keys(commandHandler.controller.activeRequests).length }, resInfo.userID)) + "\n" + str); } else { respond(await commandHandler.data.getLang("sessionscmdnosessions", null, resInfo.userID)); } @@ -260,31 +256,25 @@ module.exports.mySessions = { */ run: async (commandHandler, args, respondModule, context, resInfo) => { let respond = ((txt) => respondModule(context, resInfo, txt)); // Shorten each call - let str = ""; // Check for no userID as the default behavior might be unavailable when calling from outside of the Steam Chat if (!resInfo.userID) return respond(await commandHandler.data.getLang("nouserid")); // In this case the cmd doesn't have an ID param so send this message instead of noidparam - if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Only loop through object if it isn't empty - let objlength = Object.keys(commandHandler.controller.activeRequests).length; // Save this before the loop as deleting entries will change this number and lead to the loop finished check never triggering - - Object.keys(commandHandler.controller.activeRequests).forEach(async (e, i) => { - if (Date.now() < commandHandler.controller.activeRequests[e].until + (commandHandler.data.config.botaccountcooldown * 60000)) { // Check if entry is not finished yet - if (commandHandler.controller.activeRequests[e].requestedby == resInfo.userID) str += `- Status: ${commandHandler.controller.activeRequests[e].status} | ${commandHandler.controller.activeRequests[e].amount} iterations with ${commandHandler.controller.activeRequests[e].accounts.length} accounts by ${commandHandler.controller.activeRequests[e].requestedby} for ${commandHandler.controller.activeRequests[e].type} ${Object.keys(commandHandler.controller.activeRequests)[i]}`; - } else { - delete commandHandler.controller.activeRequests[e]; // Remove entry from object if it is finished to keep the object clean - } - - if (i == objlength - 1) { - if (i == objlength - 1) { - if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Check if obj is still not empty - respond((await commandHandler.data.getLang("sessionscmdmsg", { "amount": Object.keys(commandHandler.controller.activeRequests).length }, resInfo.userID)) + "\n" + str); - } else { - respond(await commandHandler.data.getLang("mysessionscmdnosessions", null, resInfo.userID)); - } - } - } - }); + if (Object.keys(commandHandler.controller.activeRequests).length == 0) return respond(await commandHandler.data.getLang("mysessionscmdnosessions", null, resInfo.userID)); + + // Loop through every entry requested by this user and push it to str + let str = ""; + + Object.keys(commandHandler.controller.activeRequests).forEach(async (e, i) => { + if (Date.now() < commandHandler.controller.activeRequests[e].until + (commandHandler.data.config.botaccountcooldown * 60000)) { // Check if entry is not finished yet + if (commandHandler.controller.activeRequests[e].requestedby == resInfo.userID) str += `- Status: ${commandHandler.controller.activeRequests[e].status} | ${commandHandler.controller.activeRequests[e].amount} iterations with ${commandHandler.controller.activeRequests[e].accounts.length} accounts by ${commandHandler.controller.activeRequests[e].requestedby} for ${commandHandler.controller.activeRequests[e].type} ${Object.keys(commandHandler.controller.activeRequests)[i]}`; + } else { + delete commandHandler.controller.activeRequests[e]; // Remove entry from object if it is finished to keep the object clean + } + }); + + if (Object.keys(commandHandler.controller.activeRequests).length > 0) { // Check if obj is still not empty + respond((await commandHandler.data.getLang("sessionscmdmsg", { "amount": Object.keys(commandHandler.controller.activeRequests).length }, resInfo.userID)) + "\n" + str); } else { respond(await commandHandler.data.getLang("mysessionscmdnosessions", null, resInfo.userID)); } diff --git a/src/controller/events/ready.js b/src/controller/events/ready.js index 5687af09..f35d4614 100644 --- a/src/controller/events/ready.js +++ b/src/controller/events/ready.js @@ -4,7 +4,7 @@ * Created Date: 29.03.2023 12:23:29 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:55:18 + * Last Modified: 26.12.2023 19:01:27 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -53,7 +53,7 @@ Controller.prototype._readyEvent = function() { let limitedaccs = 0; let failedtocheck = 0; - this.getBots().forEach((e, i) => { + this.getBots().forEach((e) => { if (e.user.limitations && e.user.limitations.limited) { // Check if limitations obj is populated before accessing limited just to be sure. The ready event should not have been called if limitations is not populated but better safe than sorry limitedaccs++; } else { @@ -62,15 +62,12 @@ Controller.prototype._readyEvent = function() { failedtocheck++; } } + }); - // Check for last iteration - if (i + 1 == this.getBots().length) { - let failedtocheckmsg = ""; - if (failedtocheck > 0) failedtocheckmsg = `(Couldn't check ${failedtocheck} account(s))`; + let failedtocheckmsg = ""; + if (failedtocheck > 0) failedtocheckmsg = `(Couldn't check ${failedtocheck} account(s))`; - logger("", `${logger.colors.brfggreen}>${logger.colors.reset} ${limitedaccs}/${this.getBots().length} account(s) are ${logger.colors.fgred}limited${logger.colors.reset} ${failedtocheckmsg}`, true, false, null, false, true); - } - }); + logger("", `${logger.colors.brfggreen}>${logger.colors.reset} ${limitedaccs}/${this.getBots().length} account(s) are ${logger.colors.fgred}limited${logger.colors.reset} ${failedtocheckmsg}`, true, false, null, false, true); // Log warning message if automatic updater is turned off @@ -197,4 +194,4 @@ Controller.prototype._readyEvent = function() { // Emit ready event for plugins to use this.events.emit("ready"); -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/npminteraction.js b/src/controller/helpers/npminteraction.js index dbeb1bc6..89cd1891 100644 --- a/src/controller/helpers/npminteraction.js +++ b/src/controller/helpers/npminteraction.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 29.09.2023 16:51:36 + * Last Modified: 26.12.2023 16:39:31 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -15,6 +15,9 @@ */ +// **IMPORTANT NOTE**: This file cannot be moved because it is being accessed by the old updater during an update! + + const fs = require("fs"); const { exec } = require("child_process"); // Wanted to do it with the npm package but that didn't work out (BETA 2.8 b2) @@ -77,4 +80,4 @@ module.exports.updateFromPath = (path, callback) => { callback(null, stdout); }); -}; \ No newline at end of file +}; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 66a7e6fc..c8acda6a 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -343,7 +343,7 @@ { "path": "src/bot/events/webSession.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/webSession.js", - "checksum": "5ee6dbedbfbdb48981a0a87ae45fc31e" + "checksum": "af1763626b54e9bbc56521c97924f211" }, { "path": "src/bot/helpers/checkMsgBlock.js", @@ -373,7 +373,7 @@ { "path": "src/commands/commandHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/commandHandler.js", - "checksum": "5fd2f7c48295766a759aa8e3cc91df76" + "checksum": "607cb3ec57b7b4cfa426598e0dbf49c9" }, { "path": "src/commands/core/block.js", @@ -413,7 +413,7 @@ { "path": "src/commands/core/requests.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/requests.js", - "checksum": "d1407229e8ab96cd5d1738ede982ca53" + "checksum": "cf8df18f3544a2e6f34b16e668213874" }, { "path": "src/commands/core/settings.js", @@ -488,7 +488,7 @@ { "path": "src/controller/events/ready.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/events/ready.js", - "checksum": "de676915caebd1104ad694fa5e558171" + "checksum": "4346ef9c3febcb5a3b0032f6a5a5e396" }, { "path": "src/controller/events/statusUpdate.js", @@ -533,7 +533,7 @@ { "path": "src/controller/helpers/npminteraction.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/npminteraction.js", - "checksum": "7ffd76e47873baf32b9ae7f0a94e672a" + "checksum": "e87f8e2737caaa3ee6f5356bf2916b91" }, { "path": "src/controller/login.js", @@ -608,12 +608,12 @@ { "path": "src/dataManager/helpers/handleExpiringTokens.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/handleExpiringTokens.js", - "checksum": "7dcd29cf3d3e6ed985d636615248a4f9" + "checksum": "ef0a69b6b14e77eb2c6341a6216ff9da" }, { "path": "src/dataManager/helpers/misc.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/misc.js", - "checksum": "19a6b14ff0c46f18c0fb72ecbdb2b37d" + "checksum": "24419b50d9d1bd48675eb025124cb184" }, { "path": "src/dataManager/helpers/refreshCache.js", @@ -783,7 +783,7 @@ { "path": "src/updater/helpers/prepareUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/prepareUpdate.js", - "checksum": "966fe663568e3cac9af4f3f770f4b690" + "checksum": "d7f539d480cd11074fc77ae6994a2815" }, { "path": "src/updater/helpers/restoreBackup.js", diff --git a/src/dataManager/helpers/handleExpiringTokens.js b/src/dataManager/helpers/handleExpiringTokens.js index dfe7af47..d20dc108 100644 --- a/src/dataManager/helpers/handleExpiringTokens.js +++ b/src/dataManager/helpers/handleExpiringTokens.js @@ -4,7 +4,7 @@ * Created Date: 14.10.2022 14:58:25 * Author: 3urobeat * - * Last Modified: 23.09.2023 13:06:53 + * Last Modified: 26.12.2023 19:00:37 * Modified By: 3urobeat * * Copyright (c) 2022 3urobeat @@ -139,20 +139,18 @@ DataManager.prototype._askForGetNewToken = function(expiring) { if (input.toLowerCase() == "y") { // Invalidate all tokens and log off if still online - Object.values(expiring).forEach((e, i) => { + Object.values(expiring).forEach((e) => { if (e.status == EStatus.ONLINE) e.user.logOff(); // Disconnected event won't trigger because activeLogin is already true _this.controller._statusUpdateEvent(e, EStatus.OFFLINE); // Set status of this account to offline e.sessionHandler.invalidateTokenInStorage(); // Invalidate token in storage - - // Check for last iteration and trigger login - if (i + 1 == Object.values(expiring).length) { - _this.controller.info.activeLogin = false; // Quick hack so that login() won't ignore our request, this will be updated again instantly and was only false to block new requests - _this.controller.login(); - } }); + // Trigger login + _this.controller.info.activeLogin = false; // Quick hack so that login() won't ignore our request, this will be updated again instantly and was only false to block new requests + _this.controller.login(); + } else { logger("info", "Asking again in 24 hours..."); diff --git a/src/dataManager/helpers/misc.js b/src/dataManager/helpers/misc.js index a9312f1d..6fe5aae8 100644 --- a/src/dataManager/helpers/misc.js +++ b/src/dataManager/helpers/misc.js @@ -4,7 +4,7 @@ * Created Date: 24.03.2023 18:58:55 * Author: 3urobeat * - * Last Modified: 11.09.2023 19:49:25 + * Last Modified: 26.12.2023 18:30:44 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -32,11 +32,11 @@ DataManager.prototype.getLastCommentRequest = function(steamID64 = null) { let greatestValue = 0; this.lastCommentDB.find(searchFor, (err, docs) => { - docs.forEach((e, i) => { + docs.forEach((e) => { if (e.time > greatestValue) greatestValue = Number(e.time); // Check if this iteration is a new highscore - - if (i == docs.length - 1) resolve(greatestValue); // Resolve on the last iteration }); + + resolve(greatestValue); // Resolve when loop is done }); }); @@ -60,4 +60,4 @@ DataManager.prototype.decodeJWT = function(token) { logger("err", `Failed to decode JWT! Error: ${err}`, true); return null; } -}; \ No newline at end of file +}; diff --git a/src/updater/helpers/prepareUpdate.js b/src/updater/helpers/prepareUpdate.js index 5859aa7c..d85fb217 100644 --- a/src/updater/helpers/prepareUpdate.js +++ b/src/updater/helpers/prepareUpdate.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 02.09.2023 22:09:01 + * Last Modified: 26.12.2023 19:34:32 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -51,30 +51,26 @@ module.exports.run = (controller, respondModule, resInfo) => { }, 5000); } - function filterACPobj() { // Filters activeRequests object - let objlength = Object.keys(controller.activeRequests).length; // Save this before the loop as deleting entries will change this number and lead to the loop finished check never triggering - - Object.keys(controller.activeRequests).forEach((e, i) => { // Loop over obj to filter invalid/expired entries + // Loop over obj to filter invalid/expired entries + Object.keys(controller.activeRequests).forEach((e) => { if (controller.activeRequests[e].status != "active" || Date.now() > controller.activeRequests[e].until + (controller.data.config.botaccountcooldown * 60000)) { // Check if status is not active or if entry is finished (realistically the status can't be active and finished but it won't hurt to check both to avoid a possible bug) delete controller.activeRequests[e]; // Remove entry from object } + }); - if (i == objlength - 1) { - if (Object.keys(controller.activeRequests).length > 0) { // Check if obj is still not empty and recursively call this function again - setTimeout(() => { // Wait 2.5 sec and check again - filterACPobj(); - }, 2500); + if (Object.keys(controller.activeRequests).length > 0) { // Check if obj is still not empty and recursively call this function again + setTimeout(() => { // Wait 2.5 sec and check again + filterACPobj(); + }, 2500); - } else { // If the obj is now empty then lets continue + } else { // If the obj is now empty then lets continue - logger("info", "Active request finished. Starting to log off all accounts...", false, true, logger.animation("loading")); - if (respondModule) respondModule(resInfo, "Active request finished. Starting to log off all accounts..."); + logger("info", "Active request finished. Starting to log off all accounts...", false, true, logger.animation("loading")); + if (respondModule) respondModule(resInfo, "Active request finished. Starting to log off all accounts..."); - initiateUpdate(); - } - } - }); + initiateUpdate(); + } } /* eslint-enable no-inner-declarations, jsdoc/require-jsdoc */ @@ -101,4 +97,4 @@ module.exports.run = (controller, respondModule, resInfo) => { } }); -}; \ No newline at end of file +}; From 6902a1dee346c854c8d98ae71e1d2b0805923e6e Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Tue, 26 Dec 2023 22:34:22 +0100 Subject: [PATCH 21/33] Add deprecated warning to logininfo.json import --- scripts/generateFileStructure.js | 6 +++--- src/data/fileStructure.json | 4 ++-- src/dataManager/dataImport.js | 6 +++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/generateFileStructure.js b/scripts/generateFileStructure.js index 119a2120..b67d0eb6 100644 --- a/scripts/generateFileStructure.js +++ b/scripts/generateFileStructure.js @@ -4,7 +4,7 @@ * Created Date: 02.09.2023 14:41:54 * Author: 3urobeat * - * Last Modified: 22.10.2023 12:36:37 + * Last Modified: 26.12.2023 22:33:57 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -28,7 +28,7 @@ const crypto = require("crypto"); const ignore = [ ".git", "node_modules", "backup", "plugins", // Folders - "accounts.txt", "config.json", "proxies.txt", "quotes.txt", "advancedconfig.json", "config.json", "customlang.json", // Config files + "logininfo.json", "accounts.txt", "config.json", "proxies.txt", "quotes.txt", "advancedconfig.json", "config.json", "customlang.json", // Config files "output.txt", "src/data/cache.json", "src/data/data.json", "src/data/fileStructure.json", "src/data/lastcomment.db", "src/data/ratingHistory.db", "src/data/tokens.db", "src/data/userSettings.db", // Files changing at runtime "comment-service-bot.code-workspace", "package-lock.json" // Misc ]; @@ -85,4 +85,4 @@ function searchFolderRecursiveSync(src, firstCall) { } } -searchFolderRecursiveSync("./", true); \ No newline at end of file +searchFolderRecursiveSync("./", true); diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index c8acda6a..fe513bfe 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -293,7 +293,7 @@ { "path": "scripts/generateFileStructure.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/generateFileStructure.js", - "checksum": "4076a13667f2575b25798a5da75c6adf" + "checksum": "5af84cbd22cb5c2c0b14601f13cd41bc" }, { "path": "scripts/langStringsChangeDetector.js", @@ -568,7 +568,7 @@ { "path": "src/dataManager/dataImport.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataImport.js", - "checksum": "85a6739d736a4afc460225275111e0bd" + "checksum": "d2f04faddbba217807bc8b40834b097f" }, { "path": "src/dataManager/dataIntegrity.js", diff --git a/src/dataManager/dataImport.js b/src/dataManager/dataImport.js index cef0be3f..6ba1d146 100644 --- a/src/dataManager/dataImport.js +++ b/src/dataManager/dataImport.js @@ -4,7 +4,7 @@ * Created Date: 09.07.2021 16:26:00 * Author: 3urobeat * - * Last Modified: 22.10.2023 19:47:50 + * Last Modified: 26.12.2023 22:33:17 * Modified By: 3urobeat * * Copyright (c) 2021 3urobeat @@ -173,6 +173,10 @@ DataManager.prototype._importFromDisk = async function () { if (fs.existsSync("./logininfo.json")) { delete require.cache[require.resolve(srcdir + "/../logininfo.json")]; // Delete cache to enable reloading data + // Print deprecation warning once directly at boot and another time on ready + logger("warn", "The usage of 'logininfo.json' is deprecated, please consider moving your accounts to 'accounts.txt' instead!", true); + logger("warn", "The usage of 'logininfo.json' is deprecated, please consider moving your accounts to 'accounts.txt' instead!"); + let logininfoFile = require(srcdir + "/../logininfo.json"); // Reformat to use new logininfo object structure From bfc132a8666e65fb5382874fdbca1410318e82d3 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Wed, 27 Dec 2023 14:21:25 +0100 Subject: [PATCH 22/33] Update every file header to ISO date and update copyright date --- scripts/checkTranslationKeys.js | 6 +- scripts/generateFileStructure.js | 4 +- scripts/langStringsChangeDetector.js | 6 +- src/bot/EStatus.js | 6 +- src/bot/bot.js | 6 +- src/bot/events/debug.js | 6 +- src/bot/events/disconnected.js | 6 +- src/bot/events/error.js | 8 +- src/bot/events/friendMessage.js | 6 +- src/bot/events/loggedOn.js | 6 +- src/bot/events/relationship.js | 7 +- src/bot/events/webSession.js | 6 +- src/bot/helpers/checkMsgBlock.js | 6 +- src/bot/helpers/handleLoginTimeout.js | 8 +- src/bot/helpers/handleMissingGameLicenses.js | 4 +- src/bot/helpers/handleRelog.js | 6 +- src/bot/helpers/steamChatInteraction.js | 4 +- src/commands/commandHandler.js | 4 +- src/commands/core/block.js | 8 +- src/commands/core/comment.js | 6 +- src/commands/core/favorite.js | 4 +- src/commands/core/follow.js | 4 +- src/commands/core/friend.js | 8 +- src/commands/core/general.js | 8 +- src/commands/core/group.js | 8 +- src/commands/core/requests.js | 6 +- src/commands/core/settings.js | 8 +- src/commands/core/system.js | 8 +- src/commands/core/vote.js | 4 +- src/commands/helpers/getCommentArgs.js | 8 +- src/commands/helpers/getCommentBots.js | 4 +- src/commands/helpers/getFavoriteBots.js | 6 +- src/commands/helpers/getFollowArgs.js | 6 +- src/commands/helpers/getFollowBots.js | 6 +- src/commands/helpers/getSharedfileArgs.js | 6 +- src/commands/helpers/getVoteBots.js | 6 +- src/commands/helpers/handleCommentSkips.js | 6 +- src/commands/helpers/handleFollowErrors.js | 4 +- .../helpers/handleSharedfileErrors.js | 4 +- src/controller/controller.js | 8 +- src/controller/events/ready.js | 4 +- src/controller/events/statusUpdate.js | 6 +- src/controller/events/steamGuardInput.js | 6 +- src/controller/helpers/friendlist.js | 6 +- src/controller/helpers/getBots.js | 6 +- src/controller/helpers/handleErrors.js | 6 +- .../helpers/handleSteamIdResolving.js | 8 +- src/controller/helpers/logger.js | 8 +- src/controller/helpers/misc.js | 6 +- src/controller/helpers/npminteraction.js | 6 +- src/controller/login.js | 8 +- src/data/ascii.js | 198 +++++++++--------- src/data/fileStructure.json | 188 ++++++++--------- src/dataManager/dataCheck.js | 6 +- src/dataManager/dataExport.js | 6 +- src/dataManager/dataImport.js | 6 +- src/dataManager/dataIntegrity.js | 6 +- src/dataManager/dataManager.js | 4 +- src/dataManager/dataProcessing.js | 6 +- src/dataManager/helpers/checkProxies.js | 6 +- src/dataManager/helpers/getLang.js | 6 +- src/dataManager/helpers/getQuote.js | 8 +- src/dataManager/helpers/handleCooldowns.js | 6 +- .../helpers/handleExpiringTokens.js | 6 +- src/dataManager/helpers/misc.js | 4 +- src/dataManager/helpers/refreshCache.js | 4 +- src/dataManager/helpers/repairFile.js | 4 +- src/pluginSystem/handlePluginData.js | 4 +- src/pluginSystem/loadPlugins.js | 4 +- src/pluginSystem/pluginSystem.js | 4 +- src/sessions/events/sessionEvents.js | 7 +- src/sessions/helpers/handle2FA.js | 8 +- .../helpers/handleCredentialsLoginError.js | 6 +- src/sessions/helpers/tokenStorageHandler.js | 6 +- src/sessions/sessionHandler.js | 6 +- src/starter.js | 6 +- src/updater/compatibility.js | 6 +- src/updater/compatibility/2060.js | 8 +- src/updater/compatibility/2070.js | 8 +- src/updater/compatibility/2080.js | 8 +- src/updater/compatibility/2100.js | 8 +- src/updater/compatibility/2103.js | 8 +- src/updater/compatibility/2104.js | 8 +- src/updater/compatibility/21100.js | 8 +- src/updater/compatibility/21200.js | 8 +- src/updater/compatibility/21300.js | 6 +- src/updater/compatibility/21400.js | 6 +- src/updater/helpers/checkForUpdate.js | 8 +- src/updater/helpers/createBackup.js | 8 +- src/updater/helpers/customUpdateRules.js | 8 +- src/updater/helpers/downloadUpdate.js | 6 +- src/updater/helpers/prepareUpdate.js | 6 +- src/updater/helpers/restoreBackup.js | 8 +- src/updater/updater.js | 8 +- start.js | 6 +- 95 files changed, 482 insertions(+), 484 deletions(-) diff --git a/scripts/checkTranslationKeys.js b/scripts/checkTranslationKeys.js index 5b30787f..87e6de35 100644 --- a/scripts/checkTranslationKeys.js +++ b/scripts/checkTranslationKeys.js @@ -1,10 +1,10 @@ /* * File: checkTranslationKeys.js * Project: steam-comment-service-bot - * Created Date: 13.09.2023 21:58:32 + * Created Date: 2023-09-13 21:58:32 * Author: 3urobeat * - * Last Modified: 13.09.2023 22:30:34 + * Last Modified: 2023-12-27 13:56:28 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -57,4 +57,4 @@ translations.forEach((name) => { langKeys.forEach((e) => { if (!engKeys.includes(e)) console.log(`Language '${name}' contains obsolete/misnamed key '${e}'.`); }); -}); \ No newline at end of file +}); diff --git a/scripts/generateFileStructure.js b/scripts/generateFileStructure.js index b67d0eb6..afb843c1 100644 --- a/scripts/generateFileStructure.js +++ b/scripts/generateFileStructure.js @@ -1,10 +1,10 @@ /* * File: generateFileStructure.js * Project: steam-comment-service-bot - * Created Date: 02.09.2023 14:41:54 + * Created Date: 2023-09-02 14:41:54 * Author: 3urobeat * - * Last Modified: 26.12.2023 22:33:57 + * Last Modified: 2023-12-27 13:56:44 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/scripts/langStringsChangeDetector.js b/scripts/langStringsChangeDetector.js index adf2bb88..275f452d 100644 --- a/scripts/langStringsChangeDetector.js +++ b/scripts/langStringsChangeDetector.js @@ -1,10 +1,10 @@ /* * File: langStringsChangeDetector.js * Project: steam-comment-service-bot - * Created Date: 05.06.2023 13:59:22 + * Created Date: 2023-06-05 13:59:22 * Author: 3urobeat * - * Last Modified: 09.09.2023 12:47:40 + * Last Modified: 2023-12-27 13:56:56 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -48,4 +48,4 @@ Object.keys(newLang).forEach((e, i) => { } }); } -}); \ No newline at end of file +}); diff --git a/src/bot/EStatus.js b/src/bot/EStatus.js index 0d0d3972..4023e206 100644 --- a/src/bot/EStatus.js +++ b/src/bot/EStatus.js @@ -1,10 +1,10 @@ /* * File: EStatus.js * Project: steam-comment-service-bot - * Created Date: 29.05.2023 16:55:46 + * Created Date: 2023-05-29 16:55:46 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 13:59:12 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -30,4 +30,4 @@ module.exports = { "1": "ONLINE", "2": "ERROR", "3": "SKIPPED" -}; \ No newline at end of file +}; diff --git a/src/bot/bot.js b/src/bot/bot.js index 38cf8fd8..1a1e9044 100644 --- a/src/bot/bot.js +++ b/src/bot/bot.js @@ -1,13 +1,13 @@ /* * File: bot.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 02.11.2023 14:36:35 + * Last Modified: 2023-12-27 13:59:28 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/bot/events/debug.js b/src/bot/events/debug.js index f463e71e..44eb6b06 100644 --- a/src/bot/events/debug.js +++ b/src/bot/events/debug.js @@ -1,10 +1,10 @@ /* * File: debug.js * Project: steam-comment-service-bot - * Created Date: 18.05.2023 11:27:11 + * Created Date: 2023-05-18 11:27:11 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 13:58:15 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -35,4 +35,4 @@ Bot.prototype._attachSteamDebugEvent = function() { }); } -}; \ No newline at end of file +}; diff --git a/src/bot/events/disconnected.js b/src/bot/events/disconnected.js index 383c5e5c..bcaf135b 100644 --- a/src/bot/events/disconnected.js +++ b/src/bot/events/disconnected.js @@ -1,13 +1,13 @@ /* * File: disconnected.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 15.10.2023 17:04:54 + * Last Modified: 2023-12-27 13:58:37 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/bot/events/error.js b/src/bot/events/error.js index 3246a063..604fed01 100644 --- a/src/bot/events/error.js +++ b/src/bot/events/error.js @@ -1,13 +1,13 @@ /* * File: error.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 20.10.2023 20:04:41 + * Last Modified: 2023-12-27 13:58:54 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -106,4 +106,4 @@ Bot.prototype._attachSteamErrorEvent = function() { }); -}; \ No newline at end of file +}; diff --git a/src/bot/events/friendMessage.js b/src/bot/events/friendMessage.js index 4df706f8..e0297d7d 100644 --- a/src/bot/events/friendMessage.js +++ b/src/bot/events/friendMessage.js @@ -1,13 +1,13 @@ /* * File: friendMessage.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 25.12.2023 16:54:59 + * Last Modified: 2023-12-27 14:01:11 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/bot/events/loggedOn.js b/src/bot/events/loggedOn.js index 2d000450..71e045f9 100644 --- a/src/bot/events/loggedOn.js +++ b/src/bot/events/loggedOn.js @@ -1,13 +1,13 @@ /* * File: loggedOn.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:28:10 + * Last Modified: 2023-12-27 14:00:58 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/bot/events/relationship.js b/src/bot/events/relationship.js index db9ee8cb..2f99abbb 100644 --- a/src/bot/events/relationship.js +++ b/src/bot/events/relationship.js @@ -1,13 +1,13 @@ /* * File: relationship.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 2023-12-27 14:00:48 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -101,4 +101,3 @@ Bot.prototype._attachSteamGroupRelationshipEvent = function() { }); }; - diff --git a/src/bot/events/webSession.js b/src/bot/events/webSession.js index d8bda4ef..9a1a9221 100644 --- a/src/bot/events/webSession.js +++ b/src/bot/events/webSession.js @@ -1,13 +1,13 @@ /* * File: webSession.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:09:27 + * Last Modified: 2023-12-27 14:00:35 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/bot/helpers/checkMsgBlock.js b/src/bot/helpers/checkMsgBlock.js index 3aa6cbf9..443ad505 100644 --- a/src/bot/helpers/checkMsgBlock.js +++ b/src/bot/helpers/checkMsgBlock.js @@ -1,10 +1,10 @@ /* * File: checkMsgBlock.js * Project: steam-comment-service-bot - * Created Date: 20.03.2023 12:46:47 + * Created Date: 2023-03-20 12:46:47 * Author: 3urobeat * - * Last Modified: 10.09.2023 00:04:33 + * Last Modified: 2023-12-27 14:00:20 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -62,4 +62,4 @@ Bot.prototype.checkMsgBlock = async function(steamID64, message) { // Return false and let the event be handled if nothing from above already halted the execution return false; -}; \ No newline at end of file +}; diff --git a/src/bot/helpers/handleLoginTimeout.js b/src/bot/helpers/handleLoginTimeout.js index 043390bd..4a5ca15b 100644 --- a/src/bot/helpers/handleLoginTimeout.js +++ b/src/bot/helpers/handleLoginTimeout.js @@ -1,13 +1,13 @@ /* * File: handleLoginTimeout.js * Project: steam-comment-service-bot - * Created Date: 03.11.2022 12:27:46 + * Created Date: 2022-11-03 12:27:46 * Author: 3urobeat * - * Last Modified: 14.10.2023 14:44:01 + * Last Modified: 2023-12-27 14:00:08 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -71,4 +71,4 @@ Bot.prototype.handleLoginTimeout = function() { }, this.data.advancedconfig.loginTimeout); -}; \ No newline at end of file +}; diff --git a/src/bot/helpers/handleMissingGameLicenses.js b/src/bot/helpers/handleMissingGameLicenses.js index d0b72c61..3a182f66 100644 --- a/src/bot/helpers/handleMissingGameLicenses.js +++ b/src/bot/helpers/handleMissingGameLicenses.js @@ -1,10 +1,10 @@ /* * File: handleMissingGameLicenses.js * Project: steam-comment-service-bot - * Created Date: 29.06.2023 21:31:53 + * Created Date: 2023-06-29 21:31:53 * Author: 3urobeat * - * Last Modified: 25.12.2023 22:12:16 + * Last Modified: 2023-12-27 13:59:59 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/bot/helpers/handleRelog.js b/src/bot/helpers/handleRelog.js index 76063182..1a0a0d05 100644 --- a/src/bot/helpers/handleRelog.js +++ b/src/bot/helpers/handleRelog.js @@ -1,10 +1,10 @@ /* * File: handleRelog.js * Project: steam-comment-service-bot - * Created Date: 05.10.2023 16:14:46 + * Created Date: 2023-10-05 16:14:46 * Author: 3urobeat * - * Last Modified: 15.10.2023 20:15:36 + * Last Modified: 2023-12-27 13:59:47 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -147,4 +147,4 @@ Bot.prototype.handleRelog = async function() { }, this.controller.data.advancedconfig.relogTimeout); -}; \ No newline at end of file +}; diff --git a/src/bot/helpers/steamChatInteraction.js b/src/bot/helpers/steamChatInteraction.js index 483a5809..1c12984d 100644 --- a/src/bot/helpers/steamChatInteraction.js +++ b/src/bot/helpers/steamChatInteraction.js @@ -1,10 +1,10 @@ /* * File: steamChatInteraction.js * Project: steam-comment-service-bot - * Created Date: 01.04.2023 21:09:00 + * Created Date: 2023-04-01 21:09:00 * Author: 3urobeat * - * Last Modified: 25.12.2023 16:45:05 + * Last Modified: 2023-12-27 13:59:39 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/commandHandler.js b/src/commands/commandHandler.js index 1574b055..4f3d8319 100644 --- a/src/commands/commandHandler.js +++ b/src/commands/commandHandler.js @@ -1,10 +1,10 @@ /* * File: commandHandler.js * Project: steam-comment-service-bot - * Created Date: 01.04.2023 21:54:21 + * Created Date: 2023-04-01 21:54:21 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:27:02 + * Last Modified: 2023-12-27 14:03:50 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/core/block.js b/src/commands/core/block.js index cdb02179..88d056e3 100644 --- a/src/commands/core/block.js +++ b/src/commands/core/block.js @@ -1,13 +1,13 @@ /* * File: block.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 10.09.2023 00:18:49 + * Last Modified: 2023-12-27 14:08:09 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -108,4 +108,4 @@ module.exports.unblock = { logger("info", `Unblocked ${res} with all bot accounts.`); }); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/comment.js b/src/commands/core/comment.js index 7e4d569b..5b8960b4 100644 --- a/src/commands/core/comment.js +++ b/src/commands/core/comment.js @@ -1,13 +1,13 @@ /* * File: comment.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 25.12.2023 15:41:36 + * Last Modified: 2023-12-27 14:08:04 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/commands/core/favorite.js b/src/commands/core/favorite.js index 9e85c733..69fcf75f 100644 --- a/src/commands/core/favorite.js +++ b/src/commands/core/favorite.js @@ -1,10 +1,10 @@ /* * File: favorite.js * Project: steam-comment-service-bot - * Created Date: 02.06.2023 13:23:01 + * Created Date: 2023-06-02 13:23:01 * Author: 3urobeat * - * Last Modified: 26.12.2023 15:23:41 + * Last Modified: 2023-12-27 14:07:57 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/core/follow.js b/src/commands/core/follow.js index 4e3284ed..ad4abb58 100644 --- a/src/commands/core/follow.js +++ b/src/commands/core/follow.js @@ -1,10 +1,10 @@ /* * File: follow.js * Project: steam-comment-service-bot - * Created Date: 24.09.2023 15:04:33 + * Created Date: 2023-09-24 15:04:33 * Author: 3urobeat * - * Last Modified: 26.12.2023 15:44:23 + * Last Modified: 2023-12-27 14:07:48 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/core/friend.js b/src/commands/core/friend.js index aaef2c35..c88f1366 100644 --- a/src/commands/core/friend.js +++ b/src/commands/core/friend.js @@ -1,13 +1,13 @@ /* * File: friend.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 07.10.2023 23:34:56 + * Last Modified: 2023-12-27 14:07:36 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -222,4 +222,4 @@ module.exports.unfriendall = { } }, 30000); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/general.js b/src/commands/core/general.js index f9536798..7de6d4eb 100644 --- a/src/commands/core/general.js +++ b/src/commands/core/general.js @@ -1,13 +1,13 @@ /* * File: general.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 18.10.2023 23:07:24 + * Last Modified: 2023-12-27 14:07:20 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -77,7 +77,7 @@ module.exports.help = { '${resInfo.cmdprefix}abort' - ${await commandHandler.data.getLang("helpabort", null, requesterID)} '${resInfo.cmdprefix}about' - ${await commandHandler.data.getLang("helpabout", null, requesterID)} '${resInfo.cmdprefix}owner' - ${await commandHandler.data.getLang("helpowner", null, requesterID)} - + ${await commandHandler.data.getLang("helpreadothercmdshere", null, requesterID)} ' https://github.com/3urobeat/steam-comment-service-bot/blob/master/docs/wiki/commands_doc.md ' `.replace(/^( {4})+/gm, "")); // Remove all the whitespaces that are added by the proper code indentation here } diff --git a/src/commands/core/group.js b/src/commands/core/group.js index cc702cc7..4efdfbad 100644 --- a/src/commands/core/group.js +++ b/src/commands/core/group.js @@ -1,13 +1,13 @@ /* * File: group.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 07.10.2023 23:34:56 + * Last Modified: 2023-12-27 14:07:07 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -206,4 +206,4 @@ module.exports.leaveAllGroups = { } }, 15000); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/requests.js b/src/commands/core/requests.js index 1f65f973..fbc36c53 100644 --- a/src/commands/core/requests.js +++ b/src/commands/core/requests.js @@ -1,13 +1,13 @@ /* * File: requests.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:33:31 + * Last Modified: 2023-12-27 14:06:52 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/commands/core/settings.js b/src/commands/core/settings.js index 1c8b9a6f..75ec0530 100644 --- a/src/commands/core/settings.js +++ b/src/commands/core/settings.js @@ -1,13 +1,13 @@ /* * File: settings.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 18.10.2023 23:07:24 + * Last Modified: 2023-12-27 14:06:35 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -217,4 +217,4 @@ module.exports.settings = { return; }); } -}; \ No newline at end of file +}; diff --git a/src/commands/core/system.js b/src/commands/core/system.js index fe5b22d8..5e0ae347 100644 --- a/src/commands/core/system.js +++ b/src/commands/core/system.js @@ -1,13 +1,13 @@ /* * File: system.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:28:46 + * Last Modified: 2023-12-27 14:06:22 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -226,4 +226,4 @@ module.exports.eval = { return; } } -}; \ No newline at end of file +}; diff --git a/src/commands/core/vote.js b/src/commands/core/vote.js index 7fd62be5..5dc784f5 100644 --- a/src/commands/core/vote.js +++ b/src/commands/core/vote.js @@ -1,10 +1,10 @@ /* * File: vote.js * Project: steam-comment-service-bot - * Created Date: 28.05.2023 12:02:24 + * Created Date: 2023-05-28 12:02:24 * Author: 3urobeat * - * Last Modified: 26.12.2023 15:42:06 + * Last Modified: 2023-12-27 14:06:11 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/helpers/getCommentArgs.js b/src/commands/helpers/getCommentArgs.js index 1575319a..72cb4648 100644 --- a/src/commands/helpers/getCommentArgs.js +++ b/src/commands/helpers/getCommentArgs.js @@ -1,13 +1,13 @@ /* * File: getCommentArgs.js * Project: steam-comment-service-bot - * Created Date: 28.02.2022 11:55:06 + * Created Date: 2022-02-28 11:55:06 * Author: 3urobeat * - * Last Modified: 18.10.2023 23:07:24 + * Last Modified: 2023-12-27 14:05:59 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -149,4 +149,4 @@ module.exports.getCommentArgs = (commandHandler, args, requesterID, resInfo, res })(); }); -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/getCommentBots.js b/src/commands/helpers/getCommentBots.js index a0336f42..8f7516bb 100644 --- a/src/commands/helpers/getCommentBots.js +++ b/src/commands/helpers/getCommentBots.js @@ -1,10 +1,10 @@ /* * File: getCommentBots.js * Project: steam-comment-service-bot - * Created Date: 09.04.2023 12:49:53 + * Created Date: 2023-04-09 12:49:53 * Author: 3urobeat * - * Last Modified: 25.12.2023 16:56:04 + * Last Modified: 2023-12-27 14:05:41 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/helpers/getFavoriteBots.js b/src/commands/helpers/getFavoriteBots.js index 98225e74..923b8828 100644 --- a/src/commands/helpers/getFavoriteBots.js +++ b/src/commands/helpers/getFavoriteBots.js @@ -1,10 +1,10 @@ /* * File: getFavoriteBots.js * Project: steam-comment-service-bot - * Created Date: 02.06.2023 14:07:27 + * Created Date: 2023-06-02 14:07:27 * Author: 3urobeat * - * Last Modified: 25.09.2023 18:58:50 + * Last Modified: 2023-12-27 14:05:20 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -97,4 +97,4 @@ module.exports.getAvailableBotsForFavorizing = async (commandHandler, amount, id "whenAvailable": whenAvailable, "whenAvailableStr": whenAvailableStr }; -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/getFollowArgs.js b/src/commands/helpers/getFollowArgs.js index 4a5dcf36..ee41af73 100644 --- a/src/commands/helpers/getFollowArgs.js +++ b/src/commands/helpers/getFollowArgs.js @@ -1,10 +1,10 @@ /* * File: getFollowArgs.js * Project: steam-comment-service-bot - * Created Date: 24.09.2023 16:10:36 + * Created Date: 2023-09-24 16:10:36 * Author: 3urobeat * - * Last Modified: 07.10.2023 23:34:56 + * Last Modified: 2023-12-27 14:05:13 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -89,4 +89,4 @@ module.exports.getFollowArgs = (commandHandler, args, cmd, resInfo, respond) => })(); }); -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/getFollowBots.js b/src/commands/helpers/getFollowBots.js index 174fa838..b5e045ee 100644 --- a/src/commands/helpers/getFollowBots.js +++ b/src/commands/helpers/getFollowBots.js @@ -1,10 +1,10 @@ /* * File: getFollowBots.js * Project: steam-comment-service-bot - * Created Date: 24.09.2023 18:01:44 + * Created Date: 2023-09-24 18:01:44 * Author: 3urobeat * - * Last Modified: 26.09.2023 22:19:34 + * Last Modified: 2023-12-27 14:05:07 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -108,4 +108,4 @@ module.exports.getAvailableBotsForFollowing = async (commandHandler, amount, can "whenAvailable": whenAvailable, "whenAvailableStr": whenAvailableStr }; -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/getSharedfileArgs.js b/src/commands/helpers/getSharedfileArgs.js index 463fd651..d3ac6717 100644 --- a/src/commands/helpers/getSharedfileArgs.js +++ b/src/commands/helpers/getSharedfileArgs.js @@ -1,10 +1,10 @@ /* * File: getSharedfileArgs.js * Project: steam-comment-service-bot - * Created Date: 28.05.2023 12:18:49 + * Created Date: 2023-05-28 12:18:49 * Author: 3urobeat * - * Last Modified: 24.09.2023 17:18:35 + * Last Modified: 2023-12-27 14:04:57 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -64,4 +64,4 @@ module.exports.getSharedfileArgs = (commandHandler, args, cmd, resInfo, respond) })(); }); -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/getVoteBots.js b/src/commands/helpers/getVoteBots.js index d2a40e74..684401c4 100644 --- a/src/commands/helpers/getVoteBots.js +++ b/src/commands/helpers/getVoteBots.js @@ -1,10 +1,10 @@ /* * File: getVoteBots.js * Project: steam-comment-service-bot - * Created Date: 28.05.2023 12:21:02 + * Created Date: 2023-05-28 12:21:02 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:31:54 + * Last Modified: 2023-12-27 14:04:48 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -98,4 +98,4 @@ module.exports.getAvailableBotsForVoting = async (commandHandler, amount, id, vo "whenAvailableStr": whenAvailableStr }; -}; \ No newline at end of file +}; diff --git a/src/commands/helpers/handleCommentSkips.js b/src/commands/helpers/handleCommentSkips.js index a5a9b463..eeab63fb 100644 --- a/src/commands/helpers/handleCommentSkips.js +++ b/src/commands/helpers/handleCommentSkips.js @@ -1,13 +1,13 @@ /* * File: handleCommentSkips.js * Project: steam-comment-service-bot - * Created Date: 28.02.2022 12:22:48 + * Created Date: 2022-02-28 12:22:48 * Author: 3urobeat * - * Last Modified: 26.12.2023 16:30:42 + * Last Modified: 2023-12-27 14:04:37 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/commands/helpers/handleFollowErrors.js b/src/commands/helpers/handleFollowErrors.js index 074b5955..782d0cef 100644 --- a/src/commands/helpers/handleFollowErrors.js +++ b/src/commands/helpers/handleFollowErrors.js @@ -1,10 +1,10 @@ /* * File: handleFollowErrors.js * Project: steam-comment-service-bot - * Created Date: 24.09.2023 22:57:21 + * Created Date: 2023-09-24 22:57:21 * Author: 3urobeat * - * Last Modified: 26.12.2023 16:30:54 + * Last Modified: 2023-12-27 14:04:20 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/commands/helpers/handleSharedfileErrors.js b/src/commands/helpers/handleSharedfileErrors.js index d4ddbe4e..10f51608 100644 --- a/src/commands/helpers/handleSharedfileErrors.js +++ b/src/commands/helpers/handleSharedfileErrors.js @@ -1,10 +1,10 @@ /* * File: handleSharedfileErrors.js * Project: steam-comment-service-bot - * Created Date: 31.05.2023 16:57:21 + * Created Date: 2023-05-31 16:57:21 * Author: 3urobeat * - * Last Modified: 26.12.2023 16:31:02 + * Last Modified: 2023-12-27 14:04:08 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/controller/controller.js b/src/controller/controller.js index 0cb2cf18..e9047462 100644 --- a/src/controller/controller.js +++ b/src/controller/controller.js @@ -1,13 +1,13 @@ /* * File: controller.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 22.10.2023 12:40:13 + * Last Modified: 2023-12-27 14:08:35 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -478,4 +478,4 @@ Controller.prototype._loggerOptionsUpdateAfterConfigLoad = function(advancedconf /** * Internal: Logs all held back messages from logAfterReady array */ -Controller.prototype._loggerLogAfterReady = function() {}; // eslint-disable-line \ No newline at end of file +Controller.prototype._loggerLogAfterReady = function() {}; // eslint-disable-line diff --git a/src/controller/events/ready.js b/src/controller/events/ready.js index f35d4614..428ee14a 100644 --- a/src/controller/events/ready.js +++ b/src/controller/events/ready.js @@ -1,10 +1,10 @@ /* * File: ready.js * Project: steam-comment-service-bot - * Created Date: 29.03.2023 12:23:29 + * Created Date: 2023-03-29 12:23:29 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:01:27 + * Last Modified: 2023-12-27 14:10:12 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/controller/events/statusUpdate.js b/src/controller/events/statusUpdate.js index f2b80bde..a23695fa 100644 --- a/src/controller/events/statusUpdate.js +++ b/src/controller/events/statusUpdate.js @@ -1,10 +1,10 @@ /* * File: statusUpdate.js * Project: steam-comment-service-bot - * Created Date: 30.03.2023 21:05:13 + * Created Date: 2023-03-30 21:05:13 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:36:26 + * Last Modified: 2023-12-27 14:10:00 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -35,4 +35,4 @@ Controller.prototype._statusUpdateEvent = function(bot, newStatus) { // Emit event this.events.emit("statusUpdate", bot, oldStatus, newStatus); -}; \ No newline at end of file +}; diff --git a/src/controller/events/steamGuardInput.js b/src/controller/events/steamGuardInput.js index f747a7d4..88ec7c16 100644 --- a/src/controller/events/steamGuardInput.js +++ b/src/controller/events/steamGuardInput.js @@ -1,10 +1,10 @@ /* * File: steamGuardInput.js * Project: steam-comment-service-bot - * Created Date: 04.06.2023 12:00:48 + * Created Date: 2023-06-04 12:00:48 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:36:34 + * Last Modified: 2023-12-27 14:09:45 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -32,4 +32,4 @@ Controller.prototype._steamGuardInputEvent = function(bot, submitCode) { // Emit event this.events.emit("steamGuardInput", bot, submitCode); -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/friendlist.js b/src/controller/helpers/friendlist.js index 174f7a26..e5bc302d 100644 --- a/src/controller/helpers/friendlist.js +++ b/src/controller/helpers/friendlist.js @@ -1,13 +1,13 @@ /* * File: friendlist.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 2023-12-27 14:09:33 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/controller/helpers/getBots.js b/src/controller/helpers/getBots.js index 3a85498a..484cb936 100644 --- a/src/controller/helpers/getBots.js +++ b/src/controller/helpers/getBots.js @@ -1,10 +1,10 @@ /* * File: getBots.js * Project: steam-comment-service-bot - * Created Date: 02.05.2023 13:46:21 + * Created Date: 2023-05-02 13:46:21 * Author: 3urobeat * - * Last Modified: 17.10.2023 18:26:25 + * Last Modified: 2023-12-27 14:09:26 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -70,4 +70,4 @@ Controller.prototype.getBotsPerProxy = function(filterOffline = false) { // Return result return mappedProxies; -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/handleErrors.js b/src/controller/helpers/handleErrors.js index d98866f5..31ced52c 100644 --- a/src/controller/helpers/handleErrors.js +++ b/src/controller/helpers/handleErrors.js @@ -1,10 +1,10 @@ /* * File: handleErrors.js * Project: steam-comment-service-bot - * Created Date: 21.03.2023 22:53:37 + * Created Date: 2023-03-21 22:53:37 * Author: 3urobeat * - * Last Modified: 05.07.2023 10:48:43 + * Last Modified: 2023-12-27 14:09:15 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -68,4 +68,4 @@ Controller.prototype._handleErrors = function() { } }); -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/handleSteamIdResolving.js b/src/controller/helpers/handleSteamIdResolving.js index e2e5ab25..4504db54 100644 --- a/src/controller/helpers/handleSteamIdResolving.js +++ b/src/controller/helpers/handleSteamIdResolving.js @@ -1,13 +1,13 @@ /* * File: handleSteamIdResolving.js * Project: steam-comment-service-bot - * Created Date: 09.03.2022 12:58:17 + * Created Date: 2022-03-09 12:58:17 * Author: 3urobeat * - * Last Modified: 26.09.2023 20:52:22 + * Last Modified: 2023-12-27 14:09:07 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -204,4 +204,4 @@ Controller.prototype.handleSteamIdResolving = (str, expectedIdType, callback) => else handleResponse(null, str, idType); } -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/logger.js b/src/controller/helpers/logger.js index 7a003ae2..0b7592a7 100644 --- a/src/controller/helpers/logger.js +++ b/src/controller/helpers/logger.js @@ -1,13 +1,13 @@ /* * File: logger.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:39:07 + * Last Modified: 2023-12-27 14:09:00 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -101,4 +101,4 @@ Controller.prototype._loggerLogAfterReady = function() { // Clear content and prevent new entries logAfterReady = []; -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/misc.js b/src/controller/helpers/misc.js index 723f03db..f90c4ddd 100644 --- a/src/controller/helpers/misc.js +++ b/src/controller/helpers/misc.js @@ -1,10 +1,10 @@ /* * File: misc.js * Project: steam-comment-service-bot - * Created Date: 25.03.2023 14:02:56 + * Created Date: 2023-03-25 14:02:56 * Author: 3urobeat * - * Last Modified: 08.10.2023 16:59:24 + * Last Modified: 2023-12-27 14:08:52 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -230,4 +230,4 @@ module.exports.cutStringsIntelligently = (txt, limit, cutChars, threshold) => { // Return result return result; -}; \ No newline at end of file +}; diff --git a/src/controller/helpers/npminteraction.js b/src/controller/helpers/npminteraction.js index 89cd1891..5f4eb65f 100644 --- a/src/controller/helpers/npminteraction.js +++ b/src/controller/helpers/npminteraction.js @@ -1,13 +1,13 @@ /* * File: npminteraction.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 16:39:31 + * Last Modified: 2023-12-27 14:08:40 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/controller/login.js b/src/controller/login.js index ab514b77..53b4d772 100644 --- a/src/controller/login.js +++ b/src/controller/login.js @@ -1,13 +1,13 @@ /* * File: login.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 22.10.2023 14:17:40 + * Last Modified: 2023-12-27 14:08:30 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -162,4 +162,4 @@ Controller.prototype.login = function(firstLogin) { }, waitTime); }); -}; \ No newline at end of file +}; diff --git a/src/data/ascii.js b/src/data/ascii.js index 2fd47a70..f3ebbdff 100644 --- a/src/data/ascii.js +++ b/src/data/ascii.js @@ -1,13 +1,13 @@ /* * File: ascii.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:10:31 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -17,167 +17,167 @@ /* eslint-disable */ module.exports.hellothereascii = -` _ _ _ _ _ _ -| | | | | | | | | | | -| |_| | ___| | | ___ | |_| |__ ___ _ __ ___ +` _ _ _ _ _ _ +| | | | | | | | | | | +| |_| | ___| | | ___ | |_| |__ ___ _ __ ___ | _ |/ _ | | |/ _ \\ | __| '_ \\ / _ | '__/ _ \\ | | | | __| | | (_) | | |_| | | | __| | | __/ \\_| |_/\\___|_|_|\\___/ \\__|_| |_|\\___|_| \\___| - + General Kenobi ` module.exports.binaryascii = "01000011 01101111 01101101 01101101 01100101 01101110 01110100 01000010 01101111 01110100" module.exports.ascii = [ -` ______ ______ __ __ __ __ ______ __ __ ______ ______ ______ ______ -/\\ ___\\ /\\ __ \\ /\\ "-./ \\ /\\ "-./ \\ /\\ ___\\ /\\ "-.\\ \\ /\\__ _\\ /\\ == \\ /\\ __ \\ /\\__ _\\ -\\ \\ \\____ \\ \\ \\/\\ \\ \\ \\ \\-./\\ \\ \\ \\ \\-./\\ \\ \\ \\ __\\ \\ \\ \\-. \\ \\/_/\\ \\/ \\ \\ __< \\ \\ \\/\\ \\ \\/_/\\ \\/ - \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\ \\_\\ \\ \\_\\ \\ \\_\\ \\ \\_____\\ \\ \\_\\\\"\\_\\ \\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ +` ______ ______ __ __ __ __ ______ __ __ ______ ______ ______ ______ +/\\ ___\\ /\\ __ \\ /\\ "-./ \\ /\\ "-./ \\ /\\ ___\\ /\\ "-.\\ \\ /\\__ _\\ /\\ == \\ /\\ __ \\ /\\__ _\\ +\\ \\ \\____ \\ \\ \\/\\ \\ \\ \\ \\-./\\ \\ \\ \\ \\-./\\ \\ \\ \\ __\\ \\ \\ \\-. \\ \\/_/\\ \\/ \\ \\ __< \\ \\ \\/\\ \\ \\/_/\\ \\/ + \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\ \\_\\ \\ \\_\\ \\ \\_\\ \\ \\_____\\ \\ \\_\\\\"\\_\\ \\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\/_____/ \\/_____/ \\/_/ \\/_/ \\/_/ \\/_/ \\/_____/ \\/_/ \\/_/ \\/_/ \\/_____/ \\/_____/ \\/_/ `, -`_________ __ __________ __ -\\_ ___ \\ ____ _____ _____ ____ _____/ |_ \\______ \\ _____/ |_ +`_________ __ __________ __ +\\_ ___ \\ ____ _____ _____ ____ _____/ |_ \\______ \\ _____/ |_ / \\ \\/ / _ \\ / \\ / \\_/ __ \\ / \\ __\\ | | _// _ \\ __\\ -\\ \\___( <_> ) Y Y \\ Y Y \\ ___/| | \\ | | | ( <_> ) | - \\______ /\\____/|__|_| /__|_| /\\___ >___| /__| |______ /\\____/|__| +\\ \\___( <_> ) Y Y \\ Y Y \\ ___/| | \\ | | | ( <_> ) | + \\______ /\\____/|__|_| /__|_| /\\___ >___| /__| |______ /\\____/|__| \\/ \\/ \\/ \\/ \\/ \\/ `, -` ___ _____ __ __ __ __ ____ _ _ ____ ____ _____ ____ +` ___ _____ __ __ __ __ ____ _ _ ____ ____ _____ ____ / __)( _ )( \\/ )( \\/ )( ___)( \\( )(_ _) ( _ \\( _ )(_ _) -( (__ )(_)( ) ( ) ( )__) ) ( )( ) _ < )(_)( )( +( (__ )(_)( ) ( ) ( )__) ) ( )( ) _ < )(_)( )( \\___)(_____)(_/\\/\\_)(_/\\/\\_)(____)(_)\\_) (__) (____/(_____) (__) `, -` ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ - /\\ \\ /\\ \\ /\\__\\ /\\__\\ /\\ \\ /\\__\\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ - /::\\ \\ /::\\ \\ /::| | /::| | /::\\ \\ /::| | \\:\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ - /:/\\:\\ \\ /:/\\:\\ \\ /:|:| | /:|:| | /:/\\:\\ \\ /:|:| | \\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ - /:/ \\:\\ \\ /:/ \\:\\ \\ /:/|:|__|__ /:/|:|__|__ /::\\~\\:\\ \\ /:/|:| |__ /::\\ \\ /::\\~\\:\\__\\ /:/ \\:\\ \\ /::\\ \\ +` ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ + /\\ \\ /\\ \\ /\\__\\ /\\__\\ /\\ \\ /\\__\\ /\\ \\ /\\ \\ /\\ \\ /\\ \\ + /::\\ \\ /::\\ \\ /::| | /::| | /::\\ \\ /::| | \\:\\ \\ /::\\ \\ /::\\ \\ \\:\\ \\ + /:/\\:\\ \\ /:/\\:\\ \\ /:|:| | /:|:| | /:/\\:\\ \\ /:|:| | \\:\\ \\ /:/\\:\\ \\ /:/\\:\\ \\ \\:\\ \\ + /:/ \\:\\ \\ /:/ \\:\\ \\ /:/|:|__|__ /:/|:|__|__ /::\\~\\:\\ \\ /:/|:| |__ /::\\ \\ /::\\~\\:\\__\\ /:/ \\:\\ \\ /::\\ \\ /:/__/ \\:\\__\\ /:/__/ \\:\\__\\ /:/ |::::\\__\\ /:/ |::::\\__\\ /:/\\:\\ \\:\\__\\ /:/ |:| /\\__\\ /:/\\:\\__\\ /:/\\:\\ \\:|__| /:/__/ \\:\\__\\ /:/\\:\\__\\ \\:\\ \\ \\/__/ \\:\\ \\ /:/ / \\/__/~~/:/ / \\/__/~~/:/ / \\:\\~\\:\\ \\/__/ \\/__|:|/:/ / /:/ \\/__/ \\:\\~\\:\\/:/ / \\:\\ \\ /:/ / /:/ \\/__/ - \\:\\ \\ \\:\\ /:/ / /:/ / /:/ / \\:\\ \\:\\__\\ |:/:/ / /:/ / \\:\\ \\::/ / \\:\\ /:/ / /:/ / - \\:\\ \\ \\:\\/:/ / /:/ / /:/ / \\:\\ \\/__/ |::/ / \\/__/ \\:\\/:/ / \\:\\/:/ / \\/__/ - \\:\\__\\ \\::/ / /:/ / /:/ / \\:\\__\\ /:/ / \\::/__/ \\::/ / + \\:\\ \\ \\:\\ /:/ / /:/ / /:/ / \\:\\ \\:\\__\\ |:/:/ / /:/ / \\:\\ \\::/ / \\:\\ /:/ / /:/ / + \\:\\ \\ \\:\\/:/ / /:/ / /:/ / \\:\\ \\/__/ |::/ / \\/__/ \\:\\/:/ / \\:\\/:/ / \\/__/ + \\:\\__\\ \\::/ / /:/ / /:/ / \\:\\__\\ /:/ / \\::/__/ \\::/ / \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ ~~ \\/__/ `, -` ______ __ ____ __ +` ______ __ ____ __ / ____/___ ____ ___ ____ ___ ___ ____ / /_ / __ )____ / /_ / / / __ \\/ __ __ \\/ __ __ \\/ _ \\/ __ \\/ __/ / __ / __ \\/ __/ -/ /___/ /_/ / / / / / / / / / / / __/ / / / /_ / /_/ / /_/ / /_ +/ /___/ /_/ / / / / / / / / / / / __/ / / / /_ / /_/ / /_/ / /_ \\____/\\____/_/ /_/ /_/_/ /_/ /_/\\___/_/ /_/\\__/ /_____/\\____/\\__/ `, `▄████▄ ▒█████ ███▄ ▄███▓ ███▄ ▄███▓▓█████ ███▄ █ ▄▄▄█████▓ ▄▄▄▄ ▒█████ ▄▄▄█████▓ ▒██▀ ▀█ ▒██▒ ██▒▓██▒▀█▀ ██▒▓██▒▀█▀ ██▒▓█ ▀ ██ ▀█ █ ▓ ██▒ ▓▒ ▓█████▄ ▒██▒ ██▒▓ ██▒ ▓▒ ▒▓█ ▄ ▒██░ ██▒▓██ ▓██░▓██ ▓██░▒███ ▓██ ▀█ ██▒▒ ▓██░ ▒░ ▒██▒ ▄██▒██░ ██▒▒ ▓██░ ▒░ -▒▓▓▄ ▄██▒▒██ ██░▒██ ▒██ ▒██ ▒██ ▒▓█ ▄ ▓██▒ ▐▌██▒░ ▓██▓ ░ ▒██░█▀ ▒██ ██░░ ▓██▓ ░ -▒ ▓███▀ ░░ ████▓▒░▒██▒ ░██▒▒██▒ ░██▒░▒████▒▒██░ ▓██░ ▒██▒ ░ ░▓█ ▀█▓░ ████▓▒░ ▒██▒ ░ -░ ░▒ ▒ ░░ ▒░▒░▒░ ░ ▒░ ░ ░░ ▒░ ░ ░░░ ▒░ ░░ ▒░ ▒ ▒ ▒ ░░ ░▒▓███▀▒░ ▒░▒░▒░ ▒ ░░ - ░ ▒ ░ ▒ ▒░ ░ ░ ░░ ░ ░ ░ ░ ░░ ░░ ░ ▒░ ░ ▒░▒ ░ ░ ▒ ▒░ ░ -░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ -░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ +▒▓▓▄ ▄██▒▒██ ██░▒██ ▒██ ▒██ ▒██ ▒▓█ ▄ ▓██▒ ▐▌██▒░ ▓██▓ ░ ▒██░█▀ ▒██ ██░░ ▓██▓ ░ +▒ ▓███▀ ░░ ████▓▒░▒██▒ ░██▒▒██▒ ░██▒░▒████▒▒██░ ▓██░ ▒██▒ ░ ░▓█ ▀█▓░ ████▓▒░ ▒██▒ ░ +░ ░▒ ▒ ░░ ▒░▒░▒░ ░ ▒░ ░ ░░ ▒░ ░ ░░░ ▒░ ░░ ▒░ ▒ ▒ ▒ ░░ ░▒▓███▀▒░ ▒░▒░▒░ ▒ ░░ + ░ ▒ ░ ▒ ▒░ ░ ░ ░░ ░ ░ ░ ░ ░░ ░░ ░ ▒░ ░ ▒░▒ ░ ░ ▒ ▒░ ░ +░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ +░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ `, ` ██████╗ ██████╗ ███╗ ███╗███╗ ███╗███████╗███╗ ██╗████████╗ ██████╗ ██████╗ ████████╗ ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔════╝████╗ ██║╚══██╔══╝ ██╔══██╗██╔═══██╗╚══██╔══╝ - ██║ ██║ ██║██╔████╔██║██╔████╔██║█████╗ ██╔██╗ ██║ ██║ ██████╔╝██║ ██║ ██║ - ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ ██╔══██╗██║ ██║ ██║ - ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ ██████╔╝╚██████╔╝ ██║ + ██║ ██║ ██║██╔████╔██║██╔████╔██║█████╗ ██╔██╗ ██║ ██║ ██████╔╝██║ ██║ ██║ + ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ ██╔══██╗██║ ██║ ██║ + ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ ██████╔╝╚██████╔╝ ██║ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ `, -` ( ) ( ) - )\\ ) ) ( ( /( ( )\\ ( /( - (((_) ( ( ( ))\\ ( )\\()) )((_) ( )\\()) - )\\___ )\\ )\\ ' )\\ ' /((_) )\\ ) (_))/ ((_)_ )\\ (_))/ - ((/ __| ((_) _((_)) _((_)) (_)) _(_/( | |_ | _ ) ((_)| |_ - | (__ / _ \\| ' \\()| ' \\()/ -_)| ' \\))| _| | _ \\/ _ \\| _| +` ( ) ( ) + )\\ ) ) ( ( /( ( )\\ ( /( + (((_) ( ( ( ))\\ ( )\\()) )((_) ( )\\()) + )\\___ )\\ )\\ ' )\\ ' /((_) )\\ ) (_))/ ((_)_ )\\ (_))/ + ((/ __| ((_) _((_)) _((_)) (_)) _(_/( | |_ | _ ) ((_)| |_ + | (__ / _ \\| ' \\()| ' \\()/ -_)| ' \\))| _| | _ \\/ _ \\| _| \\___|\\___/|_|_|_| |_|_|_| \\___||_||_| \\__| |___/\\___/ \\__| `, -` .d8888b. 888 888888b. 888 -d88P Y88b 888 888 "88b 888 -888 888 888 888 .88P 888 -888 .d88b. 88888b.d88b. 88888b.d88b. .d88b. 88888b. 888888 8888888K. .d88b. 888888 -888 d88""88b 888 "888 "88b 888 "888 "88b d8P Y8b 888 "88b 888 888 "Y88b d88""88b 888 -888 888 888 888 888 888 888 888 888 888 88888888 888 888 888 888 888 888 888 888 -Y88b d88P Y88..88P 888 888 888 888 888 888 Y8b. 888 888 Y88b. 888 d88P Y88..88P Y88b. +` .d8888b. 888 888888b. 888 +d88P Y88b 888 888 "88b 888 +888 888 888 888 .88P 888 +888 .d88b. 88888b.d88b. 88888b.d88b. .d88b. 88888b. 888888 8888888K. .d88b. 888888 +888 d88""88b 888 "888 "88b 888 "888 "88b d8P Y8b 888 "88b 888 888 "Y88b d88""88b 888 +888 888 888 888 888 888 888 888 888 888 88888888 888 888 888 888 888 888 888 888 +Y88b d88P Y88..88P 888 888 888 888 888 888 Y8b. 888 888 Y88b. 888 d88P Y88..88P Y88b. "Y8888P" "Y88P" 888 888 888 888 888 888 "Y8888 888 888 "Y888 8888888P" "Y88P" "Y888 `, -` /$$$$$$ /$$ /$$$$$$$ /$$ - /$$__ $$ | $$ | $$__ $$ | $$ -| $$ \\__/ /$$$$$$ /$$$$$$/$$$$ /$$$$$$/$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ | $$ \\ $$ /$$$$$$ /$$$$$$ -| $$ /$$__ $$| $$_ $$_ $$| $$_ $$_ $$ /$$__ $$| $$__ $$|_ $$_/ | $$$$$$$ /$$__ $$|_ $$_/ -| $$ | $$ \\ $$| $$ \\ $$ \\ $$| $$ \\ $$ \\ $$| $$$$$$$$| $$ \\ $$ | $$ | $$__ $$| $$ \\ $$ | $$ +` /$$$$$$ /$$ /$$$$$$$ /$$ + /$$__ $$ | $$ | $$__ $$ | $$ +| $$ \\__/ /$$$$$$ /$$$$$$/$$$$ /$$$$$$/$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ | $$ \\ $$ /$$$$$$ /$$$$$$ +| $$ /$$__ $$| $$_ $$_ $$| $$_ $$_ $$ /$$__ $$| $$__ $$|_ $$_/ | $$$$$$$ /$$__ $$|_ $$_/ +| $$ | $$ \\ $$| $$ \\ $$ \\ $$| $$ \\ $$ \\ $$| $$$$$$$$| $$ \\ $$ | $$ | $$__ $$| $$ \\ $$ | $$ | $$ $$| $$ | $$| $$ | $$ | $$| $$ | $$ | $$| $$_____/| $$ | $$ | $$ /$$ | $$ \\ $$| $$ | $$ | $$ /$$ | $$$$$$/| $$$$$$/| $$ | $$ | $$| $$ | $$ | $$| $$$$$$$| $$ | $$ | $$$$/ | $$$$$$$/| $$$$$$/ | $$$$/ \\______/ \\______/ |__/ |__/ |__/|__/ |__/ |__/ \\_______/|__/ |__/ \\___/ |_______/ \\______/ \\___/ `, -` :::::::: :::::::: ::: ::: ::: ::: :::::::::: :::: ::: ::::::::::: ::::::::: :::::::: ::::::::::: - :+: :+: :+: :+: :+:+: :+:+: :+:+: :+:+: :+: :+:+: :+: :+: :+: :+: :+: :+: :+: - +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ - +#+ +#+ +:+ +#+ +:+ +#+ +#+ +:+ +#+ +#++:++# +#+ +:+ +#+ +#+ +#++:++#+ +#+ +:+ +#+ - +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ +#+ +#+ -#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+# #+# +` :::::::: :::::::: ::: ::: ::: ::: :::::::::: :::: ::: ::::::::::: ::::::::: :::::::: ::::::::::: + :+: :+: :+: :+: :+:+: :+:+: :+:+: :+:+: :+: :+:+: :+: :+: :+: :+: :+: :+: :+: + +:+ +:+ +:+ +:+ +:+:+ +:+ +:+ +:+:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ + +#+ +#+ +:+ +#+ +:+ +#+ +#+ +:+ +#+ +#++:++# +#+ +:+ +#+ +#+ +#++:++#+ +#+ +:+ +#+ + +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ +#+ +#+ +#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#+# #+# #+# #+# #+# #+# #+# ######## ######## ### ### ### ### ########## ### #### ### ######### ######## ### `, -` _____ _ ____ _ - / ____| | | | _ \\ | | -| | ___ _ __ ___ _ __ ___ ___ _ __ | |_ | |_) | ___ | |_ +` _____ _ ____ _ + / ____| | | | _ \\ | | +| | ___ _ __ ___ _ __ ___ ___ _ __ | |_ | |_) | ___ | |_ | | / _ \\| '_ \` _ \\| '_ \` _ \\ / _ \\ '_ \\| __| | _ < / _ \\| __| -| |___| (_) | | | | | | | | | | | __/ | | | |_ | |_) | (_) | |_ +| |___| (_) | | | | | | | | | | | __/ | | | |_ | |_) | (_) | |_ \\_____\\___/|_| |_| |_|_| |_| |_|\\___|_| |_|\\__| |____/ \\___/ \\__|`, -` _|_|_| _| _|_|_| _| -_| _|_| _|_|_| _|_| _|_|_| _|_| _|_| _|_|_| _|_|_|_| _| _| _|_| _|_|_|_| -_| _| _| _| _| _| _| _| _| _|_|_|_| _| _| _| _|_|_| _| _| _| -_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| +` _|_|_| _| _|_|_| _| +_| _|_| _|_|_| _|_| _|_|_| _|_| _|_| _|_|_| _|_|_|_| _| _| _|_| _|_|_|_| +_| _| _| _| _| _| _| _| _| _|_|_|_| _| _| _| _|_|_| _| _| _| +_| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _| _|_|_| _|_| _| _| _| _| _| _| _|_|_| _| _| _|_| _|_|_| _|_| _|_| `, -` .---. .----. .-. .-..-. .-..----..-. .-. .---. .----. .----. .---. +` .---. .----. .-. .-..-. .-..----..-. .-. .---. .----. .----. .---. / ___}/ {} \\| \`.\' || \`.\' || {_ | \`| |{_ _} | {} }/ {} \\{_ _} -\\ }\\ /| |\\ /| || |\\ /| || {__ | |\\ | | | | {} }\\ / | | +\\ }\\ /| |\\ /| || |\\ /| || {__ | |\\ | | | | {} }\\ / | | \`---' \`----' \`-' \` \`-'\`-' \` \`-'\`----'\`-' \`-' \`-' \`----' \`----' \`-' `, -` _____ _ _____ _ -| |___ _____ _____ ___ ___| |_ | __ |___| |_ +` _____ _ _____ _ +| |___ _____ _____ ___ ___| |_ | __ |___| |_ | --| . | | | -_| | _| | __ -| . | _| |_____|___|_|_|_|_|_|_|___|_|_|_| |_____|___|_| `, -` ______ _ ______ _ - .' ___ | / |_ |_ _ \\ / |_ -/ .' \\_| .--. _ .--..--. _ .--..--. .---. _ .--. \`| |-' | |_) | .--. \`| |-' -| | / .'\`\\ \\[ \`.-. .-. | [ \`.-. .-. |/ /__\\\\[ \`.-. | | | | __'. / .'\`\\ \\| | -\\ \`.___.'\\| \\__. | | | | | | | | | | | | || \\__., | | | | | |, _| |__) || \\__. || |, +` ______ _ ______ _ + .' ___ | / |_ |_ _ \\ / |_ +/ .' \\_| .--. _ .--..--. _ .--..--. .---. _ .--. \`| |-' | |_) | .--. \`| |-' +| | / .'\`\\ \\[ \`.-. .-. | [ \`.-. .-. |/ /__\\\\[ \`.-. | | | | __'. / .'\`\\ \\| | +\\ \`.___.'\\| \\__. | | | | | | | | | | | | || \\__., | | | | | |, _| |__) || \\__. || |, \`.____ .' '.__.' [___||__||__][___||__||__]'.__.'[___||__]\\__/ |_______/ '.__.' \\__/ `, -` ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ +` ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░▌ ▐░░▌▐░░▌ ▐░░▌▐░░░░░░░░░░░▌▐░░▌ ▐░▌▐░░░░░░░░░░░▌ ▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌ -▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░▌░▌ ▐░▐░▌▐░▌░▌ ▐░▐░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░▌░▌ ▐░▌ ▀▀▀▀█░█▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌ ▀▀▀▀█░█▀▀▀▀ -▐░▌ ▐░▌ ▐░▌▐░▌▐░▌ ▐░▌▐░▌▐░▌▐░▌ ▐░▌▐░▌▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ -▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▐░▌ ▐░▌▐░▌ ▐░▐░▌ ▐░▌▐░█▄▄▄▄▄▄▄▄▄ ▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▌ ▐░▌ -▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░░░░░░░░░░░▌▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░░░░░░░░░░▌ ▐░▌ ▐░▌ ▐░▌ -▐░▌ ▐░▌ ▐░▌▐░▌ ▀ ▐░▌▐░▌ ▀ ▐░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░█▀▀▀▀▀▀▀█░▌▐░▌ ▐░▌ ▐░▌ -▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ -▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░█▄▄▄▄▄▄▄▄▄ ▐░▌ ▐░▐░▌ ▐░▌ ▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌ ▐░▌ -▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░░░░░░░░░░░▌▐░▌ ▐░░▌ ▐░▌ ▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░▌ +▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░▌░▌ ▐░▐░▌▐░▌░▌ ▐░▐░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░▌░▌ ▐░▌ ▀▀▀▀█░█▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌ ▀▀▀▀█░█▀▀▀▀ +▐░▌ ▐░▌ ▐░▌▐░▌▐░▌ ▐░▌▐░▌▐░▌▐░▌ ▐░▌▐░▌▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ +▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▐░▌ ▐░▌▐░▌ ▐░▐░▌ ▐░▌▐░█▄▄▄▄▄▄▄▄▄ ▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▌ ▐░▌ +▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░░░░░░░░░░░▌▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░░░░░░░░░░▌ ▐░▌ ▐░▌ ▐░▌ +▐░▌ ▐░▌ ▐░▌▐░▌ ▀ ▐░▌▐░▌ ▀ ▐░▌▐░█▀▀▀▀▀▀▀▀▀ ▐░▌ ▐░▌ ▐░▌ ▐░▌ ▐░█▀▀▀▀▀▀▀█░▌▐░▌ ▐░▌ ▐░▌ +▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ ▐░▌▐░▌ ▐░▌ ▐░▌ +▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░█▄▄▄▄▄▄▄▄▄ ▐░▌ ▐░▐░▌ ▐░▌ ▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌ ▐░▌ +▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌ ▐░▌▐░▌ ▐░▌▐░░░░░░░░░░░▌▐░▌ ▐░░▌ ▐░▌ ▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌ ▐░▌ ▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀ ▀ ▀ ▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀▀ ▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀ ▀ `, -` ▄▀▄▄▄▄ ▄▀▀▀▀▄ ▄▀▀▄ ▄▀▄ ▄▀▀▄ ▄▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▄ ▀▄ ▄▀▀▀█▀▀▄ ▄▀▀█▄▄ ▄▀▀▀▀▄ ▄▀▀▀█▀▀▄ -█ █ ▌ █ █ █ █ ▀ █ █ █ ▀ █ ▐ ▄▀ ▐ █ █ █ █ █ █ ▐ ▐ ▄▀ █ █ █ █ █ ▐ -▐ █ █ █ ▐ █ █ ▐ █ █ █▄▄▄▄▄ ▐ █ ▀█ ▐ █ █▄▄▄▀ █ █ ▐ █ - █ ▀▄ ▄▀ █ █ █ █ █ ▌ █ █ █ █ █ ▀▄ ▄▀ █ - ▄▀▄▄▄▄▀ ▀▀▀▀ ▄▀ ▄▀ ▄▀ ▄▀ ▄▀▄▄▄▄ ▄▀ █ ▄▀ ▄▀▄▄▄▀ ▀▀▀▀ ▄▀ -█ ▐ █ █ █ █ █ ▐ █ ▐ █ █ ▐ █ +` ▄▀▄▄▄▄ ▄▀▀▀▀▄ ▄▀▀▄ ▄▀▄ ▄▀▀▄ ▄▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▄ ▀▄ ▄▀▀▀█▀▀▄ ▄▀▀█▄▄ ▄▀▀▀▀▄ ▄▀▀▀█▀▀▄ +█ █ ▌ █ █ █ █ ▀ █ █ █ ▀ █ ▐ ▄▀ ▐ █ █ █ █ █ █ ▐ ▐ ▄▀ █ █ █ █ █ ▐ +▐ █ █ █ ▐ █ █ ▐ █ █ █▄▄▄▄▄ ▐ █ ▀█ ▐ █ █▄▄▄▀ █ █ ▐ █ + █ ▀▄ ▄▀ █ █ █ █ █ ▌ █ █ █ █ █ ▀▄ ▄▀ █ + ▄▀▄▄▄▄▀ ▀▀▀▀ ▄▀ ▄▀ ▄▀ ▄▀ ▄▀▄▄▄▄ ▄▀ █ ▄▀ ▄▀▄▄▄▀ ▀▀▀▀ ▄▀ +█ ▐ █ █ █ █ █ ▐ █ ▐ █ █ ▐ █ ▐ ▐ ▐ ▐ ▐ ▐ ▐ ▐ ▐ ▐ `, -` ___ . ____ . -.' \\ __. , _ , _ , _ , _ ___ , __ _/_ / \\ __. _/_ -| .' \\ |' \`|' \`. |' \`|' \`. .' \` |' \`. | |,_-< .' \\ | -| | | | | | | | | |----' | | | | \` | | | +` ___ . ____ . +.' \\ __. , _ , _ , _ , _ ___ , __ _/_ / \\ __. _/_ +| .' \\ |' \`|' \`. |' \`|' \`. .' \` |' \`. | |,_-< .' \\ | +| | | | | | | | | |----' | | | | \` | | | \`.__, \`._.' / ' / / ' / \`.___, / | \\__/ \`----' \`._.' \\__/`, ` _______ _____ _______ _______ _______ __ _ _______ ______ _____ _______ - | | | | | | | | | |______ | \\ | | |_____] | | | + | | | | | | | | | |______ | \\ | | |_____] | | | |_____ |_____| | | | | | | |______ | \\_| | |_____] |_____| | `, ` ___ ___ ___ ___ ___ ___ ____ __ __ ______ ____ ___ ______ // // \\\\ ||\\\\//|| ||\\\\//|| || ||\\ || | || | || )) // \\\\ | || | -(( (( )) || \\/ || || \\/ || ||== ||\\\\|| || ||=) (( )) || - \\\\__ \\\\_// || || || || ||___ || \\|| || ||_)) \\\\_// || `] \ No newline at end of file +(( (( )) || \\/ || || \\/ || ||== ||\\\\|| || ||=) (( )) || + \\\\__ \\\\_// || || || || ||___ || \\|| || ||_)) \\\\_// || `] diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index fe513bfe..b227637f 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -288,262 +288,262 @@ { "path": "scripts/checkTranslationKeys.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/checkTranslationKeys.js", - "checksum": "b1249b82bd312cff9cd78c4bf7ed871d" + "checksum": "7c100ee6a3e88a657fbb02ae1a5717fc" }, { "path": "scripts/generateFileStructure.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/generateFileStructure.js", - "checksum": "5af84cbd22cb5c2c0b14601f13cd41bc" + "checksum": "ff69746274fcff8317dd610d0169a2e1" }, { "path": "scripts/langStringsChangeDetector.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/langStringsChangeDetector.js", - "checksum": "032e423242c502d5aa9281f47e33d14b" + "checksum": "42376e0c4eeb99da681565189fd0bbc1" }, { "path": "src/bot/EStatus.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/EStatus.js", - "checksum": "70f1dcd89d9cfb06fe95fd14af5c932b" + "checksum": "0a226a437dec1e418ca620458b014bcf" }, { "path": "src/bot/bot.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/bot.js", - "checksum": "40087fc04b8b08b772cb85cc1d410f34" + "checksum": "c890207fe8d9b583be998e720e2d7340" }, { "path": "src/bot/events/debug.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/debug.js", - "checksum": "f464a1f981aa889138a7461c8adb5053" + "checksum": "701782dfea0c1c1d0feebb0c559ba60d" }, { "path": "src/bot/events/disconnected.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/disconnected.js", - "checksum": "df91bbc7cb99e19b0263caf705f37277" + "checksum": "38cf0c4ac7164d5cb902b65d287b902d" }, { "path": "src/bot/events/error.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/error.js", - "checksum": "0e11ff92d7b261c63ce56c65263b37fe" + "checksum": "179db7fd03f7a3cb7d9d9a352c940951" }, { "path": "src/bot/events/friendMessage.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/friendMessage.js", - "checksum": "b1861a5c2113c5678590a2a3dae2d6e6" + "checksum": "c2e3dfe0487e2a3f06f29cdb28aa466d" }, { "path": "src/bot/events/loggedOn.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/loggedOn.js", - "checksum": "034a7e300486ba09afc59cd0e2b52d6b" + "checksum": "2d308b00408cde95cfc505e3c56f2e34" }, { "path": "src/bot/events/relationship.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/relationship.js", - "checksum": "c59e096971df409c17b07cf25c2ed167" + "checksum": "cb42a18fedc59973e794a6b013cbb039" }, { "path": "src/bot/events/webSession.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/webSession.js", - "checksum": "af1763626b54e9bbc56521c97924f211" + "checksum": "6e088c223787d3b4b482180f0ffa00f8" }, { "path": "src/bot/helpers/checkMsgBlock.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/checkMsgBlock.js", - "checksum": "12c1bb15717c09e15e91594dde46c44c" + "checksum": "a0c61d670db59f0e9dbc520178e38d6b" }, { "path": "src/bot/helpers/handleLoginTimeout.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/handleLoginTimeout.js", - "checksum": "08d684f7e3ea347fdd31a88e94aa461b" + "checksum": "fea372324447e5f9d16635295590aa39" }, { "path": "src/bot/helpers/handleMissingGameLicenses.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/handleMissingGameLicenses.js", - "checksum": "a2f8b1267bc2cda3bc2b5a0281fd9b52" + "checksum": "972d35acb19963f5dd6519e3393ebd57" }, { "path": "src/bot/helpers/handleRelog.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/handleRelog.js", - "checksum": "a2412b836b5b1f1d904b53b65ebad3c0" + "checksum": "05712aba973391541848a6940b0de537" }, { "path": "src/bot/helpers/steamChatInteraction.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/helpers/steamChatInteraction.js", - "checksum": "ecdf55038bddfe41abb421ffd3dfd662" + "checksum": "f4d02006edf18f13699ef0b729cfe3d6" }, { "path": "src/commands/commandHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/commandHandler.js", - "checksum": "607cb3ec57b7b4cfa426598e0dbf49c9" + "checksum": "f8121a8971aa90a7a23d985275082276" }, { "path": "src/commands/core/block.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/block.js", - "checksum": "3bc4016e65ec6d05115a94690cbfa9cf" + "checksum": "c8faefabe22526fee5443c0498199a93" }, { "path": "src/commands/core/comment.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/comment.js", - "checksum": "c4ed4c88db4f30900299bbe4a3fbfd36" + "checksum": "d1f8f59660fbcf71f1e1af67aae4b040" }, { "path": "src/commands/core/favorite.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/favorite.js", - "checksum": "a74f5c51b4f9f2740b50436a656a500b" + "checksum": "0ff00460dff9ed1465fd69186839fbc0" }, { "path": "src/commands/core/follow.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/follow.js", - "checksum": "ba27773b7fd6f2b7b7ae1fff58440cec" + "checksum": "0f58f7eb6fda41603dc523f3c841b525" }, { "path": "src/commands/core/friend.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/friend.js", - "checksum": "d8bd04d6886e7bacba67398ef399f956" + "checksum": "732cf0f2b83ff2e59133e9406052e72c" }, { "path": "src/commands/core/general.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/general.js", - "checksum": "e030175359d73498f73d4d5853670a98" + "checksum": "20c4d31d3de9cfa8aa91dae5de383bf4" }, { "path": "src/commands/core/group.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/group.js", - "checksum": "a8ff4e7451d846612be0b7cb0844d0ac" + "checksum": "a952ab3fae5ebd4fb7c6c1c01a520888" }, { "path": "src/commands/core/requests.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/requests.js", - "checksum": "cf8df18f3544a2e6f34b16e668213874" + "checksum": "1dbee24aa1241dfe9068f55776de6180" }, { "path": "src/commands/core/settings.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/settings.js", - "checksum": "dd9920d634a6e16ec557c481709eb8cb" + "checksum": "556c368995dfc46f1407dac4b97503d7" }, { "path": "src/commands/core/system.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/system.js", - "checksum": "8ff8780ee9d53d8aa7a2e582cc34817a" + "checksum": "2595f8390e934c80803197f32cd022ca" }, { "path": "src/commands/core/vote.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/vote.js", - "checksum": "cf87ed68aa1b9735764d82cefb73690f" + "checksum": "63849381edf672f9a3ae6eed39528773" }, { "path": "src/commands/helpers/getCommentArgs.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getCommentArgs.js", - "checksum": "3172adbc009ed93fcc42edb0582d7636" + "checksum": "ec417139b0e0b88b6814a00a3fe8dd82" }, { "path": "src/commands/helpers/getCommentBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getCommentBots.js", - "checksum": "730420b5383daea1fb3adbafa9ab5e84" + "checksum": "d9c1baf9b293e4ee7f0960c22f98c86e" }, { "path": "src/commands/helpers/getFavoriteBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getFavoriteBots.js", - "checksum": "448123c44d0cad61817147848471e60b" + "checksum": "93d8d331be02808c8b4c008428e01529" }, { "path": "src/commands/helpers/getFollowArgs.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getFollowArgs.js", - "checksum": "0b6c69516ccd3252150e0c43dd5d7478" + "checksum": "e50be65b1eb493ef9e4604fcdf6b3482" }, { "path": "src/commands/helpers/getFollowBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getFollowBots.js", - "checksum": "8c6114bda954ef4b607cb3d5e2cda291" + "checksum": "0da28b42152314fe118120f15743b38a" }, { "path": "src/commands/helpers/getSharedfileArgs.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getSharedfileArgs.js", - "checksum": "62b349a43320987dbad52582c662d27a" + "checksum": "0ed99e47ef7e33f8c6769faf978b2f53" }, { "path": "src/commands/helpers/getVoteBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getVoteBots.js", - "checksum": "05693ef2a455eb2f6cd631e728b66506" + "checksum": "1617d4324e49a44d2676d76b5a230d8e" }, { "path": "src/commands/helpers/handleCommentSkips.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleCommentSkips.js", - "checksum": "63039c3a8984a025af13145e42bf2811" + "checksum": "8279c8a9a1d624f2212050b5b98cbca2" }, { "path": "src/commands/helpers/handleFollowErrors.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleFollowErrors.js", - "checksum": "6ab3ae0cdee9023d28c60f81145f02c9" + "checksum": "18054a4221e795a8c5530b5a55a014ae" }, { "path": "src/commands/helpers/handleSharedfileErrors.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/handleSharedfileErrors.js", - "checksum": "812dd3a4fbdf1c6577b8d824eb7f78a6" + "checksum": "dcc7fe481a253191a3c215cdbc79240b" }, { "path": "src/controller/controller.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/controller.js", - "checksum": "f967841a07cec8e05ed6c5d0f99bc64f" + "checksum": "d9f7edc22f1423165c4356004ddf6541" }, { "path": "src/controller/events/ready.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/events/ready.js", - "checksum": "4346ef9c3febcb5a3b0032f6a5a5e396" + "checksum": "08816486d7ac88c60a60a8b31a557961" }, { "path": "src/controller/events/statusUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/events/statusUpdate.js", - "checksum": "9b69dfb942a73cd5c794f685af8e05af" + "checksum": "3fde1416ed5eaed0e74d3777477459a7" }, { "path": "src/controller/events/steamGuardInput.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/events/steamGuardInput.js", - "checksum": "dd3dbf7cbc552d46fb93e019d6a5184d" + "checksum": "df33797c6bf867a52adb5d7e39315e73" }, { "path": "src/controller/helpers/friendlist.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/friendlist.js", - "checksum": "115150407cf054d506eef7831e89022b" + "checksum": "4c63ef25e986890ece07f01d61d40faa" }, { "path": "src/controller/helpers/getBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/getBots.js", - "checksum": "f9239fdf6c149cedc79148e7a61dad41" + "checksum": "8a9769dcbf0beee3a81ace326ae5a2f0" }, { "path": "src/controller/helpers/handleErrors.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/handleErrors.js", - "checksum": "fbc07b473a36678f1efa80c0599ecb44" + "checksum": "5254f26c41c0824f399ab596cc691bc0" }, { "path": "src/controller/helpers/handleSteamIdResolving.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/handleSteamIdResolving.js", - "checksum": "e47fcc3f44e859835b8a9f7a332972eb" + "checksum": "6e5b20ebe630b88821bafaf38b020141" }, { "path": "src/controller/helpers/logger.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/logger.js", - "checksum": "fe031f28b56d5bad03ae3fdfdea7b75b" + "checksum": "d76294cfed2ebe6a03d3ab79815316a6" }, { "path": "src/controller/helpers/misc.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/misc.js", - "checksum": "af5f340609cdb8674df993e23b505c84" + "checksum": "65dde681cbe3e63ce6c6b6d3327cb2ec" }, { "path": "src/controller/helpers/npminteraction.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/npminteraction.js", - "checksum": "e87f8e2737caaa3ee6f5356bf2916b91" + "checksum": "924edbaeb88926e0d466c74434ff1996" }, { "path": "src/controller/login.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/login.js", - "checksum": "ba68b70d7325188ba76e8774e5d5cdd3" + "checksum": "ea8f1c4b4435493ca1cd3c59eab28dbe" }, { "path": "src/data/ascii.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/data/ascii.js", - "checksum": "224d7d7d0aba4f32819838d19b4b8caf" + "checksum": "f3e6ac270923895a787d68bf96f0c0ce" }, { "path": "src/data/lang/english.json", @@ -558,72 +558,72 @@ { "path": "src/dataManager/dataCheck.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataCheck.js", - "checksum": "b5828e6f9ddfa5c042a5cbd282a34aa9" + "checksum": "ff7434e04ff818c76a7397d348c9ef9a" }, { "path": "src/dataManager/dataExport.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataExport.js", - "checksum": "40fc7a96f0c6052bd94c04fc11776fac" + "checksum": "2d82e0053f351a7d6c7fa854909a3dba" }, { "path": "src/dataManager/dataImport.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataImport.js", - "checksum": "d2f04faddbba217807bc8b40834b097f" + "checksum": "8f1bc5eff6c539c51cd963ce1cd268b4" }, { "path": "src/dataManager/dataIntegrity.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataIntegrity.js", - "checksum": "24e166de510b5c3d85b3351f7da68713" + "checksum": "48cb100ddf80bc4dd1b8abf963219d78" }, { "path": "src/dataManager/dataManager.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataManager.js", - "checksum": "51beaf755efbab71e70f5aa6a91c2a15" + "checksum": "6aae5ec364eac7e03a66ab5f87cb973f" }, { "path": "src/dataManager/dataProcessing.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataProcessing.js", - "checksum": "e3927776806e2df7cda77eace731232d" + "checksum": "af2612047ec965f8531699cc287bf2c3" }, { "path": "src/dataManager/helpers/checkProxies.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/checkProxies.js", - "checksum": "3bc2af113f042ae303dc2f9de2db199c" + "checksum": "357670340be40f10eb1692a1f001881f" }, { "path": "src/dataManager/helpers/getLang.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/getLang.js", - "checksum": "cfd94dad095b3eb3fe7b879643ac6a54" + "checksum": "5f5ce750442ab1411544ddbedb03d2b7" }, { "path": "src/dataManager/helpers/getQuote.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/getQuote.js", - "checksum": "5290d6405e9280f22013e7d9ff935a88" + "checksum": "7b626a62ea9d40a524b4616d01b8fd97" }, { "path": "src/dataManager/helpers/handleCooldowns.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/handleCooldowns.js", - "checksum": "078a375e1fd1ee91c76a4d76de34d16c" + "checksum": "9b35a82aa2b29e9e8d566db0d406b13a" }, { "path": "src/dataManager/helpers/handleExpiringTokens.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/handleExpiringTokens.js", - "checksum": "ef0a69b6b14e77eb2c6341a6216ff9da" + "checksum": "e8a6a11da0ff9f9e39856cc822bba3f5" }, { "path": "src/dataManager/helpers/misc.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/misc.js", - "checksum": "24419b50d9d1bd48675eb025124cb184" + "checksum": "32544368771121102a46f2a75c3f5f41" }, { "path": "src/dataManager/helpers/refreshCache.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/refreshCache.js", - "checksum": "f9530c810fa48d6601a1295f5519adb3" + "checksum": "acb6ae61becdfe4613d2387f4660f8f5" }, { "path": "src/dataManager/helpers/repairFile.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/helpers/repairFile.js", - "checksum": "775e0befcf862abe0d8b935b344542fa" + "checksum": "283942ba224a393abde0980f7ab3ef63" }, { "path": "src/libraryPatches/CSteamDiscussion.js", @@ -663,142 +663,142 @@ { "path": "src/pluginSystem/handlePluginData.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/handlePluginData.js", - "checksum": "08486434a3e05dba7e720ab784afa435" + "checksum": "c580d836d41f1fc4da1389d9c52242b9" }, { "path": "src/pluginSystem/loadPlugins.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/loadPlugins.js", - "checksum": "a995e909e83477dcbb697ec5620e70e5" + "checksum": "eaadc56645b916db9cb59008388cefb4" }, { "path": "src/pluginSystem/pluginSystem.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/pluginSystem/pluginSystem.js", - "checksum": "7ea83dda77da99fba51528f250e14e4a" + "checksum": "9c2a5ce9e09d8e522e32d02004f909e8" }, { "path": "src/sessions/events/sessionEvents.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/events/sessionEvents.js", - "checksum": "88c4ee8faab2d785b1943dbdeda8ac9d" + "checksum": "154d157d344f48a24fe86fec2feef611" }, { "path": "src/sessions/helpers/handle2FA.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/helpers/handle2FA.js", - "checksum": "649d4f56aea9ba9042e9ab626a1f436c" + "checksum": "3fd6447478a9ff8959f08ba5d184ae3b" }, { "path": "src/sessions/helpers/handleCredentialsLoginError.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/helpers/handleCredentialsLoginError.js", - "checksum": "5a74b41057e2c269d1f8e251eb31ea8f" + "checksum": "09cb820d026ab9a2effa154338d3af98" }, { "path": "src/sessions/helpers/tokenStorageHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/helpers/tokenStorageHandler.js", - "checksum": "8d3e64364bc892f7e1cc5b3505ba2b82" + "checksum": "a10a7b59786805c59caacb1175347154" }, { "path": "src/sessions/sessionHandler.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/sessions/sessionHandler.js", - "checksum": "5fc33e7e7dc1ae8af292d129cd77d486" + "checksum": "1a28551f54c241c696d70ac66c070057" }, { "path": "src/starter.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/starter.js", - "checksum": "2a54dbf7a601a91b65b3db55e81ece7c" + "checksum": "b106db2dbc61e544e8f1eb37cba99d69" }, { "path": "src/updater/compatibility/2060.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2060.js", - "checksum": "1f75b416d4795c4533400f25acd41d93" + "checksum": "514238153f1c27b03fbc825370f25ef8" }, { "path": "src/updater/compatibility/2070.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2070.js", - "checksum": "65338b222f5a366251ad58bf1c7d15b3" + "checksum": "3dd17a2b268909673a7bfd706a879aaa" }, { "path": "src/updater/compatibility/2080.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2080.js", - "checksum": "b7613953b7a5e8854ba29ab8936fecd7" + "checksum": "8f56ff06cc0ef5a8aee6e3eb01abb5d9" }, { "path": "src/updater/compatibility/2100.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2100.js", - "checksum": "d9b1324e4253d4dc62baf25612376501" + "checksum": "be525b44dab67d30832a5e7b9a219a09" }, { "path": "src/updater/compatibility/2103.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2103.js", - "checksum": "62308e61461f6b9bd2c1689fe6f35962" + "checksum": "abf1e687bc94ae784406da1aa56a0a8c" }, { "path": "src/updater/compatibility/2104.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/2104.js", - "checksum": "9e00bc6b65df8fa30b0b75ef8a5d5835" + "checksum": "0e52117c2a3c2a8d854de384d4a94722" }, { "path": "src/updater/compatibility/21100.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/21100.js", - "checksum": "50e5f5aa9cd297a2251ff2853b51e36f" + "checksum": "3bb4455ad0a9ab426cd34cf5536c03aa" }, { "path": "src/updater/compatibility/21200.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/21200.js", - "checksum": "faf0ddc2b7d0453c0998fe47a40cffca" + "checksum": "41a0f507b86b1f4afa7cc99eff44b6cf" }, { "path": "src/updater/compatibility/21300.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/21300.js", - "checksum": "033c91364f191758b8b55b9ac15825b5" + "checksum": "e2e86c05da9fc16db4e91d63a5176576" }, { "path": "src/updater/compatibility/21400.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility/21400.js", - "checksum": "eb3f572a93c5a4163a3fbd5bfa42054c" + "checksum": "b6040d97f7a09ad5e6fc91167e486e4b" }, { "path": "src/updater/compatibility.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/compatibility.js", - "checksum": "4a7a25a98c8ecc45488ca4e503295d5d" + "checksum": "b8a36866188ae4304dfbcb4ebe8f3d80" }, { "path": "src/updater/helpers/checkForUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/checkForUpdate.js", - "checksum": "e076828239bdafa56e6d15ec0a459c42" + "checksum": "240bcc17d4c2019006184942b9a53169" }, { "path": "src/updater/helpers/createBackup.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/createBackup.js", - "checksum": "bb861304088be3a6261a33c5c17ebb63" + "checksum": "d767af9c5ae397bdfa7b386c2e4e49eb" }, { "path": "src/updater/helpers/customUpdateRules.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/customUpdateRules.js", - "checksum": "f11376db8f60880a9e92755fc6477dce" + "checksum": "2148b6eb0164503c3d0b4adbe8bfe757" }, { "path": "src/updater/helpers/downloadUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/downloadUpdate.js", - "checksum": "89c8e65af33289e13b85b1e3a3c3f4c4" + "checksum": "9be735b19ef5b1e73df74cae8c4fedc4" }, { "path": "src/updater/helpers/prepareUpdate.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/prepareUpdate.js", - "checksum": "d7f539d480cd11074fc77ae6994a2815" + "checksum": "eea0c957cfb4f73c15a0fdd78f6e9a68" }, { "path": "src/updater/helpers/restoreBackup.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/helpers/restoreBackup.js", - "checksum": "4b2f7486bac2595ba9b4669d902a7bdf" + "checksum": "02224a065b6b3cf13558e13c487511a3" }, { "path": "src/updater/updater.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/updater/updater.js", - "checksum": "76bb596b8ed3a050d07286a568b1590b" + "checksum": "9be1690b21717fd96f69c7dfbe02dc8f" }, { "path": "start.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/start.js", - "checksum": "d3504b52fa12ee232ac83dfb6f19f7b1" + "checksum": "afc9710e045984455ca0936fec484f1a" }, { "path": "types/types.d.ts", diff --git a/src/dataManager/dataCheck.js b/src/dataManager/dataCheck.js index 57b83df5..b597647a 100644 --- a/src/dataManager/dataCheck.js +++ b/src/dataManager/dataCheck.js @@ -1,10 +1,10 @@ /* * File: dataCheck.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 21.10.2023 12:55:46 + * Last Modified: 2023-12-27 14:13:04 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -166,4 +166,4 @@ DataManager.prototype.checkData = function() { logger("debug", "DataManager checkData(): All checks ran successfully! Resolving promise..."); resolve(resolveMsg || null); }); -}; \ No newline at end of file +}; diff --git a/src/dataManager/dataExport.js b/src/dataManager/dataExport.js index 64163d0f..756ebc61 100644 --- a/src/dataManager/dataExport.js +++ b/src/dataManager/dataExport.js @@ -1,10 +1,10 @@ /* * File: dataExport.js * Project: steam-comment-service-bot - * Created Date: 04.07.2023 21:29:42 + * Created Date: 2023-07-04 21:29:42 * Author: 3urobeat * - * Last Modified: 24.07.2023 19:43:58 + * Last Modified: 2023-12-27 14:12:57 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -181,4 +181,4 @@ DataManager.prototype.writeQuotesToDisk = function() { }; -// No function to write language \ No newline at end of file +// No function to write language diff --git a/src/dataManager/dataImport.js b/src/dataManager/dataImport.js index 6ba1d146..587359ba 100644 --- a/src/dataManager/dataImport.js +++ b/src/dataManager/dataImport.js @@ -1,13 +1,13 @@ /* * File: dataImport.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 22:33:17 + * Last Modified: 2023-12-27 14:12:47 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/dataManager/dataIntegrity.js b/src/dataManager/dataIntegrity.js index 64fe05c1..938c0ad0 100644 --- a/src/dataManager/dataIntegrity.js +++ b/src/dataManager/dataIntegrity.js @@ -1,10 +1,10 @@ /* * File: dataIntegrity.js * Project: steam-comment-service-bot - * Created Date: 03.09.2023 09:52:15 + * Created Date: 2023-09-03 09:52:15 * Author: 3urobeat * - * Last Modified: 05.09.2023 18:53:50 + * Last Modified: 2023-12-27 14:12:39 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -72,4 +72,4 @@ DataManager.prototype.verifyIntegrity = function() { })(); }); -}; \ No newline at end of file +}; diff --git a/src/dataManager/dataManager.js b/src/dataManager/dataManager.js index e1ff64fb..0d24651c 100644 --- a/src/dataManager/dataManager.js +++ b/src/dataManager/dataManager.js @@ -1,10 +1,10 @@ /* * File: dataManager.js * Project: steam-comment-service-bot - * Created Date: 21.03.2023 22:34:51 + * Created Date: 2023-03-21 22:34:51 * Author: 3urobeat * - * Last Modified: 24.10.2023 20:25:38 + * Last Modified: 2023-12-27 14:12:30 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/dataManager/dataProcessing.js b/src/dataManager/dataProcessing.js index 7ad2b720..be159c2a 100644 --- a/src/dataManager/dataProcessing.js +++ b/src/dataManager/dataProcessing.js @@ -1,10 +1,10 @@ /* * File: dataProcessing.js * Project: steam-comment-service-bot - * Created Date: 27.03.2023 21:34:45 + * Created Date: 2023-03-27 21:34:45 * Author: 3urobeat * - * Last Modified: 05.09.2023 19:05:06 + * Last Modified: 2023-12-27 14:12:22 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -162,4 +162,4 @@ DataManager.prototype.processData = async function() { this.writeCachefileToDisk(); -}; \ No newline at end of file +}; diff --git a/src/dataManager/helpers/checkProxies.js b/src/dataManager/helpers/checkProxies.js index bf0eaf34..e2b926a4 100644 --- a/src/dataManager/helpers/checkProxies.js +++ b/src/dataManager/helpers/checkProxies.js @@ -1,10 +1,10 @@ /* * File: checkProxies.js * Project: steam-comment-service-bot - * Created Date: 09.10.2023 21:08:13 + * Created Date: 2023-10-09 21:08:13 * Author: 3urobeat * - * Last Modified: 14.10.2023 10:41:56 + * Last Modified: 2023-12-27 14:14:31 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -61,4 +61,4 @@ DataManager.prototype.checkAllProxies = async function(ignoreLastCheckedWithin = // Await all promises so this function resolves when all proxies have been checked await Promise.all(promiseArr); -}; \ No newline at end of file +}; diff --git a/src/dataManager/helpers/getLang.js b/src/dataManager/helpers/getLang.js index 5d0143ce..a8f5c858 100644 --- a/src/dataManager/helpers/getLang.js +++ b/src/dataManager/helpers/getLang.js @@ -1,10 +1,10 @@ /* * File: getLang.js * Project: steam-comment-service-bot - * Created Date: 09.09.2023 12:35:10 + * Created Date: 2023-09-09 12:35:10 * Author: 3urobeat * - * Last Modified: 10.09.2023 16:56:48 + * Last Modified: 2023-12-27 14:14:21 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -81,4 +81,4 @@ DataManager.prototype.getLang = async function(str, replace = null, userIDOrLang // Resolve with the resulting string return langStr; -}; \ No newline at end of file +}; diff --git a/src/dataManager/helpers/getQuote.js b/src/dataManager/helpers/getQuote.js index f108194a..08dbf846 100644 --- a/src/dataManager/helpers/getQuote.js +++ b/src/dataManager/helpers/getQuote.js @@ -1,13 +1,13 @@ /* * File: getQuote.js * Project: steam-comment-service-bot - * Created Date: 02.03.2022 16:21:11 + * Created Date: 2022-03-02 16:21:11 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:27:09 + * Last Modified: 2023-12-27 14:14:11 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -66,4 +66,4 @@ DataManager.prototype.getQuote = function(quotesArr = null) { } }); -}; \ No newline at end of file +}; diff --git a/src/dataManager/helpers/handleCooldowns.js b/src/dataManager/helpers/handleCooldowns.js index 38a3e8e5..4a0f614c 100644 --- a/src/dataManager/helpers/handleCooldowns.js +++ b/src/dataManager/helpers/handleCooldowns.js @@ -1,10 +1,10 @@ /* * File: handleCooldowns.js * Project: steam-comment-service-bot - * Created Date: 13.04.2023 17:58:23 + * Created Date: 2023-04-13 17:58:23 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:00:06 + * Last Modified: 2023-12-27 14:13:55 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -101,4 +101,4 @@ DataManager.prototype.setUserCooldown = function(id, timestamp) { if (err) logger("error", "Error adding cooldown to user in database! You should probably *not* ignore this error!\nError: " + err); }); -}; \ No newline at end of file +}; diff --git a/src/dataManager/helpers/handleExpiringTokens.js b/src/dataManager/helpers/handleExpiringTokens.js index d20dc108..d0f6c785 100644 --- a/src/dataManager/helpers/handleExpiringTokens.js +++ b/src/dataManager/helpers/handleExpiringTokens.js @@ -1,13 +1,13 @@ /* * File: handleExpiringTokens.js * Project: steam-comment-service-bot - * Created Date: 14.10.2022 14:58:25 + * Created Date: 2022-10-14 14:58:25 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:00:37 + * Last Modified: 2023-12-27 14:13:44 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/dataManager/helpers/misc.js b/src/dataManager/helpers/misc.js index 6fe5aae8..7faeb284 100644 --- a/src/dataManager/helpers/misc.js +++ b/src/dataManager/helpers/misc.js @@ -1,10 +1,10 @@ /* * File: misc.js * Project: steam-comment-service-bot - * Created Date: 24.03.2023 18:58:55 + * Created Date: 2023-03-24 18:58:55 * Author: 3urobeat * - * Last Modified: 26.12.2023 18:30:44 + * Last Modified: 2023-12-27 14:13:35 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/dataManager/helpers/refreshCache.js b/src/dataManager/helpers/refreshCache.js index f558a7be..6fa27da7 100644 --- a/src/dataManager/helpers/refreshCache.js +++ b/src/dataManager/helpers/refreshCache.js @@ -1,10 +1,10 @@ /* * File: refreshCache.js * Project: steam-comment-service-bot - * Created Date: 29.03.2023 17:44:47 + * Created Date: 2023-03-29 17:44:47 * Author: 3urobeat * - * Last Modified: 05.09.2023 19:05:14 + * Last Modified: 2023-12-27 14:13:26 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/dataManager/helpers/repairFile.js b/src/dataManager/helpers/repairFile.js index e32ef9ba..afe81c9e 100644 --- a/src/dataManager/helpers/repairFile.js +++ b/src/dataManager/helpers/repairFile.js @@ -1,10 +1,10 @@ /* * File: repairFile.js * Project: steam-comment-service-bot - * Created Date: 22.03.2023 12:35:01 + * Created Date: 2023-03-22 12:35:01 * Author: 3urobeat * - * Last Modified: 04.07.2023 19:59:23 + * Last Modified: 2023-12-27 14:13:14 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/pluginSystem/handlePluginData.js b/src/pluginSystem/handlePluginData.js index 50cbf8a8..506b78dc 100644 --- a/src/pluginSystem/handlePluginData.js +++ b/src/pluginSystem/handlePluginData.js @@ -1,10 +1,10 @@ /* * File: handlePluginData.js * Project: steam-comment-service-bot - * Created Date: 04.06.2023 17:52:51 + * Created Date: 2023-06-04 17:52:51 * Author: 3urobeat * - * Last Modified: 24.12.2023 14:19:23 + * Last Modified: 2023-12-27 14:15:13 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/pluginSystem/loadPlugins.js b/src/pluginSystem/loadPlugins.js index d35335d5..25ffefc4 100644 --- a/src/pluginSystem/loadPlugins.js +++ b/src/pluginSystem/loadPlugins.js @@ -1,10 +1,10 @@ /* * File: loadPlugins.js * Project: steam-comment-service-bot - * Created Date: 04.06.2023 15:37:17 + * Created Date: 2023-06-04 15:37:17 * Author: DerDeathraven * - * Last Modified: 24.12.2023 14:34:17 + * Last Modified: 2023-12-27 14:15:37 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/pluginSystem/pluginSystem.js b/src/pluginSystem/pluginSystem.js index be8d91a1..df8564a3 100644 --- a/src/pluginSystem/pluginSystem.js +++ b/src/pluginSystem/pluginSystem.js @@ -1,10 +1,10 @@ /* * File: pluginSystem.js * Project: steam-comment-service-bot - * Created Date: 19.03.2023 13:34:27 + * Created Date: 2023-03-19 13:34:27 * Author: 3urobeat * - * Last Modified: 24.12.2023 14:19:18 + * Last Modified: 2023-12-27 14:15:25 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat diff --git a/src/sessions/events/sessionEvents.js b/src/sessions/events/sessionEvents.js index 5a477689..f1627cf4 100644 --- a/src/sessions/events/sessionEvents.js +++ b/src/sessions/events/sessionEvents.js @@ -1,13 +1,13 @@ /* * File: sessionEvents.js * Project: steam-comment-service-bot - * Created Date: 09.10.2022 12:52:30 + * Created Date: 2022-10-09 12:52:30 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:16:21 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -60,4 +60,3 @@ SessionHandler.prototype._attachEvents = function() { }); }; - diff --git a/src/sessions/helpers/handle2FA.js b/src/sessions/helpers/handle2FA.js index 29a9b85a..74d886ea 100644 --- a/src/sessions/helpers/handle2FA.js +++ b/src/sessions/helpers/handle2FA.js @@ -1,13 +1,13 @@ /* * File: handle2FA.js * Project: steam-comment-service-bot - * Created Date: 09.10.2022 12:59:31 + * Created Date: 2022-10-09 12:59:31 * Author: 3urobeat * - * Last Modified: 04.07.2023 17:50:12 + * Last Modified: 2023-12-27 14:16:18 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -149,4 +149,4 @@ SessionHandler.prototype._acceptSteamGuardCode = function(code) { this._get2FAUserInput(); }); -}; \ No newline at end of file +}; diff --git a/src/sessions/helpers/handleCredentialsLoginError.js b/src/sessions/helpers/handleCredentialsLoginError.js index 6ca375ab..2ae94d48 100644 --- a/src/sessions/helpers/handleCredentialsLoginError.js +++ b/src/sessions/helpers/handleCredentialsLoginError.js @@ -1,13 +1,13 @@ /* * File: handleCredentialsLoginError.js * Project: steam-comment-service-bot - * Created Date: 09.10.2022 13:22:39 + * Created Date: 2022-10-09 13:22:39 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:16:15 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/sessions/helpers/tokenStorageHandler.js b/src/sessions/helpers/tokenStorageHandler.js index cb502254..49092340 100644 --- a/src/sessions/helpers/tokenStorageHandler.js +++ b/src/sessions/helpers/tokenStorageHandler.js @@ -1,13 +1,13 @@ /* * File: tokenStorageHandler.js * Project: steam-comment-service-bot - * Created Date: 10.10.2022 12:53:20 + * Created Date: 2022-10-10 12:53:20 * Author: 3urobeat * - * Last Modified: 21.11.2023 20:23:19 + * Last Modified: 2023-12-27 14:16:11 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/sessions/sessionHandler.js b/src/sessions/sessionHandler.js index 5c8b0578..6246ae1e 100644 --- a/src/sessions/sessionHandler.js +++ b/src/sessions/sessionHandler.js @@ -1,13 +1,13 @@ /* * File: sessionHandler.js * Project: steam-comment-service-bot - * Created Date: 09.10.2022 12:47:27 + * Created Date: 2022-10-09 12:47:27 * Author: 3urobeat * - * Last Modified: 05.10.2023 19:34:45 + * Last Modified: 2023-12-27 14:16:05 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/starter.js b/src/starter.js index a1ca540f..3b9151d8 100644 --- a/src/starter.js +++ b/src/starter.js @@ -1,13 +1,13 @@ /* * File: starter.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 10:26:00 + * Created Date: 2021-07-10 10:26:00 * Author: 3urobeat * - * Last Modified: 29.09.2023 16:42:05 + * Last Modified: 2023-12-27 14:17:17 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/updater/compatibility.js b/src/updater/compatibility.js index a6642b06..0135dc7a 100644 --- a/src/updater/compatibility.js +++ b/src/updater/compatibility.js @@ -1,10 +1,10 @@ /* * File: compatibility.js * Project: steam-comment-service-bot - * Created Date: 04.05.2023 20:26:42 + * Created Date: 2023-05-04 20:26:42 * Author: 3urobeat * - * Last Modified: 28.09.2023 18:33:22 + * Last Modified: 2023-12-27 14:17:41 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -63,4 +63,4 @@ module.exports.runCompatibility = async (controller) => { })(); }); -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2060.js b/src/updater/compatibility/2060.js index d19c069b..c2993314 100644 --- a/src/updater/compatibility/2060.js +++ b/src/updater/compatibility/2060.js @@ -1,13 +1,13 @@ /* * File: 2060.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:49 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -67,4 +67,4 @@ module.exports.run = (controller, resolve) => { //eslint-disable-line module.exports.info = { "master": "2.6", "beta-testing": "2.6" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2070.js b/src/updater/compatibility/2070.js index fe480f7c..ea297113 100644 --- a/src/updater/compatibility/2070.js +++ b/src/updater/compatibility/2070.js @@ -1,13 +1,13 @@ /* * File: 2070.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:47 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -63,4 +63,4 @@ module.exports.run = (controller, resolve) => { //eslint-disable-line module.exports.info = { "master": "2.7", "beta-testing": "2.7" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2080.js b/src/updater/compatibility/2080.js index 4d7dee73..b416c973 100644 --- a/src/updater/compatibility/2080.js +++ b/src/updater/compatibility/2080.js @@ -1,13 +1,13 @@ /* * File: 2080.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:43 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -39,4 +39,4 @@ module.exports.run = (controller, resolve) => { //eslint-disable-line module.exports.info = { "master": "2.8", "beta-testing": "BETA 2.8 b3" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2100.js b/src/updater/compatibility/2100.js index ca94204a..34ef53f2 100644 --- a/src/updater/compatibility/2100.js +++ b/src/updater/compatibility/2100.js @@ -1,13 +1,13 @@ /* * File: 2100.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:40 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -50,4 +50,4 @@ module.exports.run = (controller, resolve) => { //eslint-disable-line module.exports.info = { "master": "2100", "beta-testing": "BETA 2.10 b5" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2103.js b/src/updater/compatibility/2103.js index 174c3388..0b13987d 100644 --- a/src/updater/compatibility/2103.js +++ b/src/updater/compatibility/2103.js @@ -1,13 +1,13 @@ /* * File: 2103.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:36 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -38,4 +38,4 @@ module.exports.run = (controller, resolve) => { module.exports.info = { "master": "2103", "beta-testing": "2103" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/2104.js b/src/updater/compatibility/2104.js index 1233dd0e..8859b8bd 100644 --- a/src/updater/compatibility/2104.js +++ b/src/updater/compatibility/2104.js @@ -1,13 +1,13 @@ /* * File: 2104.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:27 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -51,4 +51,4 @@ module.exports.run = (controller, resolve) => { module.exports.info = { "master": "2104", "beta-testing": "2104" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/21100.js b/src/updater/compatibility/21100.js index cad0935f..2d56596f 100644 --- a/src/updater/compatibility/21100.js +++ b/src/updater/compatibility/21100.js @@ -1,13 +1,13 @@ /* * File: 21100.js * Project: steam-comment-service-bot - * Created Date: 10.07.2021 22:30:00 + * Created Date: 2021-07-10 22:30:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:21 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -61,4 +61,4 @@ module.exports.run = (controller, resolve) => { //eslint-disable-line module.exports.info = { "master": "21100", "beta-testing": "2110b4" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/21200.js b/src/updater/compatibility/21200.js index 21bcf1fb..595976f5 100644 --- a/src/updater/compatibility/21200.js +++ b/src/updater/compatibility/21200.js @@ -1,13 +1,13 @@ /* * File: 21200.js * Project: steam-comment-service-bot - * Created Date: 23.02.2022 10:39:41 + * Created Date: 2022-02-23 10:39:41 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:15 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -59,4 +59,4 @@ module.exports.run = (controller, resolve) => { module.exports.info = { "master": "21200", "beta-testing": "21200b02" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/21300.js b/src/updater/compatibility/21300.js index 8fb84f01..19e186ec 100644 --- a/src/updater/compatibility/21300.js +++ b/src/updater/compatibility/21300.js @@ -1,10 +1,10 @@ /* * File: 21300.js * Project: steam-comment-service-bot - * Created Date: 02.06.2023 12:20:00 + * Created Date: 2023-06-02 12:20:00 * Author: 3urobeat * - * Last Modified: 29.06.2023 22:35:03 + * Last Modified: 2023-12-27 14:20:07 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -78,4 +78,4 @@ module.exports.run = (controller, resolve) => { module.exports.info = { "master": "21300", "beta-testing": "21300b07" -}; \ No newline at end of file +}; diff --git a/src/updater/compatibility/21400.js b/src/updater/compatibility/21400.js index 9478a04b..3f45dca6 100644 --- a/src/updater/compatibility/21400.js +++ b/src/updater/compatibility/21400.js @@ -1,10 +1,10 @@ /* * File: 21400.js * Project: steam-comment-service-bot - * Created Date: 28.09.2023 17:27:08 + * Created Date: 2023-09-28 17:27:08 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:28:48 + * Last Modified: 2023-12-27 14:19:56 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -74,4 +74,4 @@ module.exports.run = (controller, resolve) => { module.exports.info = { "master": "21400", "beta-testing": "21400b03" -}; \ No newline at end of file +}; diff --git a/src/updater/helpers/checkForUpdate.js b/src/updater/helpers/checkForUpdate.js index bff36a93..24ece378 100644 --- a/src/updater/helpers/checkForUpdate.js +++ b/src/updater/helpers/checkForUpdate.js @@ -1,13 +1,13 @@ /* * File: checkForUpdate.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 08.07.2023 00:36:54 + * Last Modified: 2023-12-27 14:19:44 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -65,4 +65,4 @@ module.exports.check = (datafile, branch, forceUpdate, callback) => { logger("error", "Updater checkForUpdate function Error: " + err, true); callback(false, {}); } -}; \ No newline at end of file +}; diff --git a/src/updater/helpers/createBackup.js b/src/updater/helpers/createBackup.js index 5e4b029d..cdf56741 100644 --- a/src/updater/helpers/createBackup.js +++ b/src/updater/helpers/createBackup.js @@ -1,13 +1,13 @@ /* * File: createBackup.js * Project: steam-comment-service-bot - * Created Date: 26.02.2022 16:54:03 + * Created Date: 2022-02-26 16:54:03 * Author: 3urobeat * - * Last Modified: 02.09.2023 16:28:46 + * Last Modified: 2023-12-27 14:19:34 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -70,4 +70,4 @@ module.exports.run = () => { copyFolderRecursiveSync(".", "./backup", true); }); -}; \ No newline at end of file +}; diff --git a/src/updater/helpers/customUpdateRules.js b/src/updater/helpers/customUpdateRules.js index 61fb63e5..a1087a60 100644 --- a/src/updater/helpers/customUpdateRules.js +++ b/src/updater/helpers/customUpdateRules.js @@ -1,13 +1,13 @@ /* * File: customUpdateRules.js * Project: steam-comment-service-bot - * Created Date: 22.02.2022 17:39:21 + * Created Date: 2022-02-22 17:39:21 * Author: 3urobeat * - * Last Modified: 19.10.2023 19:14:37 + * Last Modified: 2023-12-27 14:19:22 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -116,4 +116,4 @@ module.exports.customUpdateRules = (compatibilityfeaturedone, oldconfig, oldadva }); }); -}; \ No newline at end of file +}; diff --git a/src/updater/helpers/downloadUpdate.js b/src/updater/helpers/downloadUpdate.js index 16e840bc..37f66477 100644 --- a/src/updater/helpers/downloadUpdate.js +++ b/src/updater/helpers/downloadUpdate.js @@ -1,13 +1,13 @@ /* * File: downloadUpdate.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 03.11.2023 22:57:53 + * Last Modified: 2023-12-27 14:18:29 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/updater/helpers/prepareUpdate.js b/src/updater/helpers/prepareUpdate.js index d85fb217..08e5f04e 100644 --- a/src/updater/helpers/prepareUpdate.js +++ b/src/updater/helpers/prepareUpdate.js @@ -1,13 +1,13 @@ /* * File: prepareUpdate.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 26.12.2023 19:34:32 + * Last Modified: 2023-12-27 14:18:10 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/src/updater/helpers/restoreBackup.js b/src/updater/helpers/restoreBackup.js index 4f8d9803..17cdab3a 100644 --- a/src/updater/helpers/restoreBackup.js +++ b/src/updater/helpers/restoreBackup.js @@ -1,13 +1,13 @@ /* * File: restoreBackup.js * Project: steam-comment-service-bot - * Created Date: 26.02.2022 20:16:44 + * Created Date: 2022-02-26 20:16:44 * Author: 3urobeat * - * Last Modified: 04.07.2023 20:16:28 + * Last Modified: 2023-12-27 14:18:01 * Modified By: 3urobeat * - * Copyright (c) 2022 3urobeat + * Copyright (c) 2022 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -81,4 +81,4 @@ module.exports.run = () => { } }); -}; \ No newline at end of file +}; diff --git a/src/updater/updater.js b/src/updater/updater.js index c31ac2a9..dcdb8952 100644 --- a/src/updater/updater.js +++ b/src/updater/updater.js @@ -1,13 +1,13 @@ /* * File: updater.js * Project: steam-comment-service-bot - * Created Date: 09.07.2021 16:26:00 + * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 10.09.2023 15:54:07 + * Last Modified: 2023-12-27 14:17:27 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2021 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -205,4 +205,4 @@ Updater.prototype.run = function(forceUpdate, respondModule, resInfo) { })(); }); -}; \ No newline at end of file +}; diff --git a/start.js b/start.js index ec385a31..4bd7e33e 100644 --- a/start.js +++ b/start.js @@ -1,13 +1,13 @@ /* * File: start.js * Project: steam-comment-service-bot - * Created Date: 15.01.2020 10:38:00 + * Created Date: 2020-01-15 10:38:00 * Author: 3urobeat * - * Last Modified: 25.12.2023 20:38:51 + * Last Modified: 2023-12-27 13:57:29 * Modified By: 3urobeat * - * Copyright (c) 2021 3urobeat + * Copyright (c) 2020 - 2023 3urobeat * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. From dba8ea83762d0919cdd17a1b10060499e46c8115 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:37:44 +0100 Subject: [PATCH 23/33] Add disabled regex version to cutStringsIntelligently(), I have worked the last 2 days on it and it doesn't work fml --- src/controller/helpers/misc.js | 38 +++++++++++++++++++++++++++++----- src/data/fileStructure.json | 2 +- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/controller/helpers/misc.js b/src/controller/helpers/misc.js index f90c4ddd..0f7091c8 100644 --- a/src/controller/helpers/misc.js +++ b/src/controller/helpers/misc.js @@ -4,7 +4,7 @@ * Created Date: 2023-03-25 14:02:56 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:08:52 + * Last Modified: 2023-12-28 16:36:37 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -211,23 +211,51 @@ module.exports.cutStringsIntelligently = (txt, limit, cutChars, threshold) => { let lastIndex = 0; let result = []; - // Iterate over string until lastIndex reaches length of input string + // Regex-less version - Safe but can cut at places where a link is surrounded by "' " and " '" to avoid embedding in the Steam Chat. + // Iterate over string until lastIndex reaches length of input string. This whole algorithm could probably be replicated using RegEx but eeeehhhh while (lastIndex < txt.length - 1) { let cut = txt.slice(lastIndex, lastIndex + limit); // Get the next part by cutting from lastIndex to limit // Find the last occurrence of all cutChars and find the most recent one using Math.max() let lastOccurrence = Math.max(...cutChars.map(e => cut.lastIndexOf(e))); - // Check if cut maxes out limit, a last occurrence was found and is within threshold. If so, cut again, push to result and update lastIndex. If not, accept a word cut. + // Check if cut maxes out limit (if not we have reached the end and can push as is), + // a last occurrence was found and is within threshold. If so, cut again, push to result and update lastIndex. + // If not, accept a word cut. if (cut.length == limit && lastOccurrence >= 0 && (cut.length - lastOccurrence) < threshold) { - result.push(txt.slice(lastIndex, lastIndex + lastOccurrence).trim()); + result.push(txt.slice(lastIndex, lastIndex + lastOccurrence).trim()); // Does not cut into words lastIndex += lastOccurrence; } else { - result.push(cut.trim()); + result.push(cut.trim()); // Cuts into words lastIndex += limit - 1; } } + // Regex version - Only cuts when match is not surrounded by "'" and "URL" but does not (yet) support any other chars and is wonky - therefore disabled + /* let re = /(? prevLen + limit) { + result.push(txt.substring(prevLen, prevTemp.index)); // Cut only to index to ignore the space + prevLen = prevTemp.index + 1; + } + + prevTemp = temp; + + } + + // Push remaining + if (prevLen < txt.length) { + result.push(txt.substring(prevLen, txt.length)); + } */ + + // Return result return result; }; diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index b227637f..2e9180f0 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -528,7 +528,7 @@ { "path": "src/controller/helpers/misc.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/controller/helpers/misc.js", - "checksum": "65dde681cbe3e63ce6c6b6d3327cb2ec" + "checksum": "9c67eb0be1e14576747ebec6a7267d9b" }, { "path": "src/controller/helpers/npminteraction.js", From df0569e5a383f66b744dbe6094da11d708d0f714 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 18:02:16 +0100 Subject: [PATCH 24/33] Simplify inserting new user on friend request accept --- src/bot/events/relationship.js | 12 +++++------- src/bot/events/webSession.js | 12 +++++------- src/data/fileStructure.json | 4 ++-- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/bot/events/relationship.js b/src/bot/events/relationship.js index 2f99abbb..524cc384 100644 --- a/src/bot/events/relationship.js +++ b/src/bot/events/relationship.js @@ -4,7 +4,7 @@ * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:00:48 + * Last Modified: 2023-12-28 18:01:04 * Modified By: 3urobeat * * Copyright (c) 2021 - 2023 3urobeat @@ -43,13 +43,11 @@ Bot.prototype._attachSteamFriendRelationshipEvent = function() { // Add user to lastcomment database - let lastcommentobj = { - id: steamID64, - time: Date.now() - (this.controller.data.config.requestCooldown * 60000) // Subtract requestCooldown so that the user is able to use the command instantly - }; + let time = Date.now() - (this.controller.data.config.requestCooldown * 60000); // Subtract requestCooldown so that the user is able to use the command instantly; - this.controller.data.lastCommentDB.remove({ id: steamID64 }, {}, (err) => { if (err) logger("error", "Error removing duplicate steamid from lastcomment.db on friendRelationship! Error: " + err); }); // Remove any old entries - this.controller.data.lastCommentDB.insert(lastcommentobj, (err) => { if (err) logger("error", "Error inserting new user into lastcomment.db database! Error: " + err); }); + this.controller.data.lastCommentDB.update({ id: steamID64 }, { $set: { time: time } }, { upsert: true }, (err) => { + if (err) logger("error", "Error inserting new user into lastcomment.db database! Error: " + err); + }); // Invite user to yourgroup (and to my to make some stonks) diff --git a/src/bot/events/webSession.js b/src/bot/events/webSession.js index 9a1a9221..2bc263d1 100644 --- a/src/bot/events/webSession.js +++ b/src/bot/events/webSession.js @@ -4,7 +4,7 @@ * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:00:35 + * Last Modified: 2023-12-28 17:59:22 * Modified By: 3urobeat * * Copyright (c) 2021 - 2023 3urobeat @@ -72,13 +72,11 @@ Bot.prototype._attachSteamWebSessionEvent = function() { // Add user to lastcomment database - let lastcommentobj = { - id: thisfriend, - time: Date.now() - (this.controller.data.config.requestCooldown * 60000) // Subtract requestCooldown so that the user is able to use the command instantly - }; + let time = Date.now() - (this.controller.data.config.requestCooldown * 60000); // Subtract requestCooldown so that the user is able to use the command instantly; - this.controller.data.lastCommentDB.remove({ id: thisfriend }, {}, (err) => { if (err) logger("error", "Error removing duplicate steamid from lastcomment.db on offline friend accept! Error: " + err); }); // Remove any old entries - this.controller.data.lastCommentDB.insert(lastcommentobj, (err) => { if (err) logger("error", "Error inserting new user into lastcomment.db database! Error: " + err); }); + this.controller.data.lastCommentDB.update({ id: thisfriend }, { $set: { time: time } }, { upsert: true }, (err) => { + if (err) logger("error", "Error inserting new user into lastcomment.db database! Error: " + err); + }); // Invite user to yourgroup (and to my to make some stonks) if (this.controller.data.cachefile.configgroup64id && Object.keys(this.user.myGroups).includes(this.controller.data.cachefile.configgroup64id)) { diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 2e9180f0..fe1879ab 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -338,12 +338,12 @@ { "path": "src/bot/events/relationship.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/relationship.js", - "checksum": "cb42a18fedc59973e794a6b013cbb039" + "checksum": "43b72701a9f85addc5564d21e15b95f3" }, { "path": "src/bot/events/webSession.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/bot/events/webSession.js", - "checksum": "6e088c223787d3b4b482180f0ffa00f8" + "checksum": "cbe4ed7443ee4224fcdc94772c09bf5b" }, { "path": "src/bot/helpers/checkMsgBlock.js", From 91c2c77433eb513a2570e7d78b9c6e82a5cec366 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 18:14:10 +0100 Subject: [PATCH 25/33] Fix comments not allowed on friendsonly profiles --- src/commands/core/comment.js | 4 ++-- src/data/fileStructure.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/commands/core/comment.js b/src/commands/core/comment.js index 5b8960b4..2c06ba28 100644 --- a/src/commands/core/comment.js +++ b/src/commands/core/comment.js @@ -4,7 +4,7 @@ * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:08:04 + * Last Modified: 2023-12-28 18:13:34 * Modified By: 3urobeat * * Copyright (c) 2021 - 2023 3urobeat @@ -227,7 +227,7 @@ module.exports.comment = { } else { logger("debug", "Successfully checked privacyState of receiving user: " + user.privacyState); - if (user.privacyState != "public") return respond(await commandHandler.data.getLang("commentuserprofileprivate", null, requesterID)); // Only check if getting the Steam user's data didn't result in an error + if (user.privacyState != "public" && user.privacyState != "friendsonly") return respond(await commandHandler.data.getLang("commentuserprofileprivate", null, requesterID)); // Only check if getting the Steam user's data didn't result in an error } // Register this comment process in activeRequests diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index fe1879ab..cb1708ef 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -383,7 +383,7 @@ { "path": "src/commands/core/comment.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/comment.js", - "checksum": "d1f8f59660fbcf71f1e1af67aae4b040" + "checksum": "4f05398cc6cae3b3b12b1d830030c202" }, { "path": "src/commands/core/favorite.js", From 740d98a968a35a3d5a1459105f0871537acf7b71 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 21:31:13 +0100 Subject: [PATCH 26/33] Add appending profile visibility to idType to getCommentArgs() --- src/commands/helpers/getCommentArgs.js | 50 ++++++++++++++++++++++---- src/data/fileStructure.json | 4 +-- types/types.d.ts | 9 +++++ 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/src/commands/helpers/getCommentArgs.js b/src/commands/helpers/getCommentArgs.js index 72cb4648..5397aa78 100644 --- a/src/commands/helpers/getCommentArgs.js +++ b/src/commands/helpers/getCommentArgs.js @@ -4,7 +4,7 @@ * Created Date: 2022-02-28 11:55:06 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:05:59 + * Last Modified: 2023-12-28 21:29:17 * Modified By: 3urobeat * * Copyright (c) 2022 - 2023 3urobeat @@ -15,9 +15,41 @@ */ +const SteamID = require("steamid"); + const CommandHandler = require("../commandHandler.js"); // eslint-disable-line +/** + * Helper function: Gets the visibility status of a profile and appends it to idType + * @param {CommandHandler} commandHandler The commandHandler object + * @param {string} steamID64 The steamID64 of the profile to check + * @param {string} type Type of steamID64, determined by handleSteamIdResolving(). Must be "profile", otherwise callback will be called instantly with this type param, unchanged. + * @param {function(string): void} callback Called on completion with your new idType + */ +function getVisibilityStatus(commandHandler, steamID64, type, callback) { + if (steamID64 && type == "profile") { + logger("debug", `CommandHandler getVisibilityStatus(): Getting visibility status of profile ${steamID64}...`); + + commandHandler.controller.main.community.getSteamUser(new SteamID(steamID64), async (err, user) => { + if (err || !user || !user.privacyState) { + logger("warn", `[Main] Failed to check if ${steamID64} is private: ${err}\n Assuming profile is public and hoping for the best...`); // This can happen sometimes and most of the times commenting will still work + + callback(type + "Public"); + } else { + logger("debug", "CommandHandler getVisibilityStatus(): Successfully checked privacyState of receiving user: " + user.privacyState); + + callback(type + user.privacyState[0].toUpperCase() + user.privacyState.slice(1)); // Append privacy state to type with the first letter capitalized + } + }); + } else { + logger("debug", `CommandHandler getVisibilityStatus(): Type '${type}' was provided, ignoring request...`); + + callback(type); + } +} + + /** * Retrieves arguments from a comment request. If request is invalid (for example too many comments requested) an error message will be sent * @param {CommandHandler} commandHandler The commandHandler object @@ -91,8 +123,11 @@ module.exports.getCommentArgs = (commandHandler, args, requesterID, resInfo, res return resolve(false); } - profileID = res; // Will be null on err - idType = type; // Update idType with what handleSteamIdResolving determined + // Get profile visibility status if profile. Resolving at the bottom will wait until profileID is set + getVisibilityStatus(commandHandler, res, type, (newType) => { + profileID = res; // Will be null on err + idType = newType; // Update idType with what handleSteamIdResolving determined + }); }); } else { @@ -104,8 +139,11 @@ module.exports.getCommentArgs = (commandHandler, args, requesterID, resInfo, res } else { logger("debug", "CommandHandler getCommentArgs(): No profileID parameter received, setting profileID to requesterID..."); - profileID = requesterID; - idType = "profile"; + // Get profile visibility status if profile. Resolving at the bottom will wait until profileID is set + getVisibilityStatus(commandHandler, requesterID, "profile", (newType) => { + profileID = requesterID; // Will be null on err + idType = newType; // Update idType with what handleSteamIdResolving determined + }); } @@ -122,7 +160,7 @@ module.exports.getCommentArgs = (commandHandler, args, requesterID, resInfo, res if (commandHandler.controller.getBots().length == 1 && maxRequestAmount == 1) { logger("debug", "CommandHandler getCommentArgs(): User didn't provide numberOfComments but maxRequestAmount is 1. Accepting request as numberOfComments = 1."); - numberOfComments = 1; // If only one account is active, set 1 automatically + numberOfComments = 1; // If only one account is active, set 1 automatically profileID = requesterID; // Define profileID so that the interval below resolves } else { logger("debug", `CommandHandler getCommentArgs(): User didn't provide numberOfComments and maxRequestAmount is ${maxRequestAmount} (> 1). Rejecting request.`); diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index cb1708ef..4ea8834d 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -433,7 +433,7 @@ { "path": "src/commands/helpers/getCommentArgs.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getCommentArgs.js", - "checksum": "ec417139b0e0b88b6814a00a3fe8dd82" + "checksum": "430c20fdd211806b73c06668fc1cc0ab" }, { "path": "src/commands/helpers/getCommentBots.js", @@ -803,7 +803,7 @@ { "path": "types/types.d.ts", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/types/types.d.ts", - "checksum": "4c8759a97dd01ab1b0a2e0d1601d80cf" + "checksum": "2adca4ee7e087d6d610e580595812dd8" } ] } \ No newline at end of file diff --git a/types/types.d.ts b/types/types.d.ts index f4da86ca..9caf6ed0 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -300,6 +300,15 @@ declare type resInfo = { */ declare function comment(commandHandler: CommandHandler, resInfo: CommandHandler.resInfo, respond: (...params: any[]) => any, postComment: (...params: any[]) => any, commentArgs: any, receiverSteamID64: string): void; +/** + * Helper function: Gets the visibility status of a profile and appends it to idType + * @param commandHandler - The commandHandler object + * @param steamID64 - The steamID64 of the profile to check + * @param type - Type of steamID64, determined by handleSteamIdResolving(). Must be "profile", otherwise callback will be called instantly with this type param, unchanged. + * @param callback - Called on completion with your new idType + */ +declare function getVisibilityStatus(commandHandler: CommandHandler, steamID64: string, type: string, callback: (...params: any[]) => any): void; + /** * Retrieves arguments from a comment request. If request is invalid (for example too many comments requested) an error message will be sent * @param commandHandler - The commandHandler object From 3a1439bce56213a66f742072b95890ad8e94bae0 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 22:34:51 +0100 Subject: [PATCH 27/33] Update russian translation @sashascurtu Co-Authored-By: Alexandru Scurtu --- src/data/fileStructure.json | 2 +- src/data/lang/russian.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 4ea8834d..f9c70f16 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -553,7 +553,7 @@ { "path": "src/data/lang/russian.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/data/lang/russian.json", - "checksum": "44c2754b505bd61026848a9d4a09cbff" + "checksum": "878ca00a385d91db0ab9b644c3101512" }, { "path": "src/dataManager/dataCheck.js", diff --git a/src/data/lang/russian.json b/src/data/lang/russian.json index 6e1c193f..d15c743e 100644 --- a/src/data/lang/russian.json +++ b/src/data/lang/russian.json @@ -23,7 +23,7 @@ "commenterroroccurred": "Опаньки, произошла ошибка! К сожалению, я не смог её прокомментировать.", "commentprocessstarted": "Примерное время ожидания для ${numberOfComments} комментариев: ${waittime}.", "commentfailedcmdreference": "Чтобы получить подробную информацию о том, почему комментарий не сработал, введите «${cmdprefix}failed». Вы можете прочитать, что, вероятно, вызвало вашу ошибку, здесь: https://github.com/3urobeat/steam-comment-service-bot/blob/master/docs/wiki/errors_doc.md", - + "comment429stop": "Остановлен процесс комментирования, поскольку все прокси-серверы выдали ошибку HTTP 429 (восстановление IP). Пожалуйста, повторите попытку позже. Не удалось: ${failedamount}/${numberOfComments}", "commentretrying": "${failedamount}/${numberOfComments} комментариев были неудачными. Я собираюсь повторить попытку неудачных комментариев в untilStr. (Попытка ${thisattempt}/${maxattempt})", "commentsuccess": "Все комментарии были отправлены. Не удалось: ${failedamount}/${numberOfComments}\nЕсли вы хороший человек, то, пожалуйста, прокомментируйте и мой профиль!", @@ -109,7 +109,7 @@ "settingscmdvaluereset": "DataManager отклонил это изменение со следующим предупреждением:", "settingscmdvaluechanged": "${targetkey} был изменен со ${oldvalue} на ${newvalue}.\nПомните, что для вступления в силу некоторых значений может потребоваться перезапуск. Вы можете сделать это, введя ${cmdprefix}restart.", - "failedcmdnothingfound": "Я не могу вспомнить ни одного неудачного комментария на вашем/этом ID.\nЕсли вы запрашивали комментарии для другого профиля, группы, общего файла или обсуждения, пожалуйста, укажите этот ID/URL в качестве аргумента!", + "failedcmdnothingfound": "Я не могу вспомнить ни одного неудачного взаимодействия на вашем/этом ID.\nЕсли вы запрашивали что-то для другого профиля, группы, общего файла или обсуждения, пожалуйста, укажите этот ID/URL в качестве аргумента!", "failedcmdmsg": "Ваш последний запрос «${steamID64}», выполненный в «${requesttime}» (время GMT), содержал эти ошибки:", "sessionscmdnosessions": "В настоящее время нет активных сессий и нет бот-аккаунтов в режиме ожидания.", From dad2bf7c572c96269b0d8115e56e24ad918b1a72 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 23:02:12 +0100 Subject: [PATCH 28/33] Add profile privacy status handling to getCommentBots() and remove private check from comment --- src/commands/core/comment.js | 38 ++++++++------------------ src/commands/helpers/getCommentBots.js | 14 ++++++---- src/data/fileStructure.json | 6 ++-- types/types.d.ts | 2 +- 4 files changed, 23 insertions(+), 37 deletions(-) diff --git a/src/commands/core/comment.js b/src/commands/core/comment.js index 2c06ba28..e1a07b67 100644 --- a/src/commands/core/comment.js +++ b/src/commands/core/comment.js @@ -4,7 +4,7 @@ * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 2023-12-28 18:13:34 + * Last Modified: 2023-12-28 22:58:36 * Modified By: 3urobeat * * Copyright (c) 2021 - 2023 3urobeat @@ -90,6 +90,9 @@ module.exports.comment = { if (!maxRequestAmount && !numberOfComments && !quotesArr) return; // Looks like the helper aborted the request + // Deny request if profile is private + if (idType == "profilePrivate") return respond(await commandHandler.data.getLang("commentuserprofileprivate", null, requesterID)); + // Update receiverSteamID64 if profileID was returned if (profileID && profileID != requesterID) { @@ -162,7 +165,8 @@ module.exports.comment = { let commentArgs = {}; switch (activeRequestsObj.type) { - case "profileComment": + case "profilePublicComment": + case "profileFriendsonlyComment": postComment = commandHandler.controller.main.community.postUserComment; // Context of the correct bot account is applied later commentArgs = { receiverSteamID64: receiverSteamID64, quote: null }; break; @@ -219,32 +223,12 @@ module.exports.comment = { } - // Check if profile is private - if (idType == "profile") { - commandHandler.controller.main.community.getSteamUser(new SteamID(receiverSteamID64), async (err, user) => { - if (err) { - logger("warn", `[Main] Failed to check if ${receiverSteamID64} is private: ${err}\n Trying to comment anyway and hoping no error occurs...`); // This can happen sometimes and most of the times commenting will still work - } else { - logger("debug", "Successfully checked privacyState of receiving user: " + user.privacyState); - - if (user.privacyState != "public" && user.privacyState != "friendsonly") return respond(await commandHandler.data.getLang("commentuserprofileprivate", null, requesterID)); // Only check if getting the Steam user's data didn't result in an error - } - - // Register this comment process in activeRequests - commandHandler.controller.activeRequests[receiverSteamID64] = activeRequestsObj; + // Register this comment process in activeRequests + commandHandler.controller.activeRequests[receiverSteamID64] = activeRequestsObj; - // Start commenting - logger("debug", "Made activeRequest entry for user, starting comment loop..."); - comment(commandHandler, resInfo, respond, postComment, commentArgs, receiverSteamID64); - }); - } else { - // Register this comment process in activeRequests - commandHandler.controller.activeRequests[receiverSteamID64] = activeRequestsObj; - - // Start commenting - logger("debug", "Made activeRequest entry for user, starting comment loop..."); - comment(commandHandler, resInfo, respond, postComment, commentArgs, receiverSteamID64); - } + // Start commenting + logger("debug", "Made activeRequest entry for user, starting comment loop..."); + comment(commandHandler, resInfo, respond, postComment, commentArgs, receiverSteamID64); } }; diff --git a/src/commands/helpers/getCommentBots.js b/src/commands/helpers/getCommentBots.js index 8f7516bb..ee13af89 100644 --- a/src/commands/helpers/getCommentBots.js +++ b/src/commands/helpers/getCommentBots.js @@ -4,7 +4,7 @@ * Created Date: 2023-04-09 12:49:53 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:05:41 + * Last Modified: 2023-12-28 22:40:34 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -26,7 +26,7 @@ const { timeToString } = require("../../controller/helpers/misc.js"); * @param {CommandHandler} commandHandler The commandHandler object * @param {number} numberOfComments Number of requested comments * @param {boolean} canBeLimited If the accounts are allowed to be limited - * @param {string} idType Type of the request. This can either be "profile", "group", "sharedfile" or "discussion". This is used to determine if limited accs need to be added first. + * @param {string} idType Type of the request. This can either be "profile(PrivacyState)", "group", "sharedfile" or "discussion". This is used to determine if limited accs need to be added first. * @param {string} receiverSteamID Optional: steamID64 of the receiving user. If set, accounts that are friend with the user will be prioritized and accsToAdd will be calculated. * @returns {{ accsNeeded: number, availableAccounts: Array., accsToAdd: Array., whenAvailable: number, whenAvailableStr: string }} `availableAccounts` contains all account names from bot object, `accsToAdd` account names which are limited and not friend, `whenAvailable` is a timestamp representing how long to wait until accsNeeded accounts will be available and `whenAvailableStr` is formatted human-readable as time from now */ @@ -105,12 +105,14 @@ module.exports.getAvailableBotsForCommenting = function(commandHandler, numberOf if (allAccounts.length > accountsNeeded) allAccounts = allAccounts.slice(0, accountsNeeded); - // Filter all accounts needed for this request which must be added first if this is of type profile + // Filter all accounts needed for this request which must be added first let accsToAdd = []; - if (idType == "profile") { - accsToAdd = allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] != 3 && allAccsOnline[e].user.limitations.limited); - } + if (idType == "profilePublic") { // On a public profile only limited accounts need to be added + accsToAdd = allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] != EFriendRelationship.Friend && allAccsOnline[e].user.limitations.limited); + } else if (idType == "profileFriendsonly") { // On a friendsonly profile all accounts need to be added + accsToAdd = allAccounts.filter(e => allAccsOnline[e].user.myFriends[receiverSteamID] != EFriendRelationship.Friend); + } // Comments on private profiles are already blocked, no need to check for that here // Log debug values diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index f9c70f16..55ad2e57 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -383,7 +383,7 @@ { "path": "src/commands/core/comment.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/comment.js", - "checksum": "4f05398cc6cae3b3b12b1d830030c202" + "checksum": "b4bbfef42c05e8ff9721f14e6f1ec522" }, { "path": "src/commands/core/favorite.js", @@ -438,7 +438,7 @@ { "path": "src/commands/helpers/getCommentBots.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/helpers/getCommentBots.js", - "checksum": "d9c1baf9b293e4ee7f0960c22f98c86e" + "checksum": "5c0537846a858cfc79754dbfac1c1890" }, { "path": "src/commands/helpers/getFavoriteBots.js", @@ -803,7 +803,7 @@ { "path": "types/types.d.ts", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/types/types.d.ts", - "checksum": "2adca4ee7e087d6d610e580595812dd8" + "checksum": "52f40a0f2dd86e0cbceb5d58f979eb6d" } ] } \ No newline at end of file diff --git a/types/types.d.ts b/types/types.d.ts index 9caf6ed0..235fa081 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -325,7 +325,7 @@ declare function getCommentArgs(commandHandler: CommandHandler, args: any[], req * @param commandHandler - The commandHandler object * @param numberOfComments - Number of requested comments * @param canBeLimited - If the accounts are allowed to be limited - * @param idType - Type of the request. This can either be "profile", "group", "sharedfile" or "discussion". This is used to determine if limited accs need to be added first. + * @param idType - Type of the request. This can either be "profile(PrivacyState)", "group", "sharedfile" or "discussion". This is used to determine if limited accs need to be added first. * @param receiverSteamID - Optional: steamID64 of the receiving user. If set, accounts that are friend with the user will be prioritized and accsToAdd will be calculated. * @returns `availableAccounts` contains all account names from bot object, `accsToAdd` account names which are limited and not friend, `whenAvailable` is a timestamp representing how long to wait until accsNeeded accounts will be available and `whenAvailableStr` is formatted human-readable as time from now */ From 98fbb5af100346010143a3e62d44702335d4748e Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 23:03:22 +0100 Subject: [PATCH 29/33] Wiki: Improve unfriendtime config key explanation and misc --- docs/wiki/config_doc.md | 4 ++-- scripts/langStringsChangeDetector.js | 4 ++-- src/data/fileStructure.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/wiki/config_doc.md b/docs/wiki/config_doc.md index 9b97cbea..1c3bdea5 100644 --- a/docs/wiki/config_doc.md +++ b/docs/wiki/config_doc.md @@ -20,11 +20,11 @@ This is the full documentation to customize your `config.json`. | maxRequests | Number | Defines how many comments/likes/favs a normal user can request from your bot. Will automatically use accounts multiple times if it is greater than the amount of accounts logged in. | | maxOwnerRequests | Number | Defines how many comments/likes/favs owners can request (every user in the ownerid list below). Will automatically use accounts multiple times if it is greater than the amount of accounts logged in. | | randomizeAccounts | true or false | Defines if the order of accounts used to comment should be randomized. Default: false | -| unfriendtime | Days | Number of days the bot will wait before unfriending someone who hasn't requested a comment in that time period except the owner. Set to 0 to disable. | +| unfriendtime | Days | Amount of days after which the bot will unfriend an inactive user (activity is measured using when they last started a request). Does not unfriend owners. Set to 0 to disable. | | playinggames | `["custom game", game id, game id, ...]` | This custom text will be shown on your profile as the name of a game you are playing. The bot will play the set game ids. Don't provide a string to disable the custom game text. | | childaccplayinggames | `["custom game", game id, game id, ...]`

or

`[{ "myacc1": ["Specific Game", 730], "myacc25": [] }, "General Game", 440]` | Same behaviour as playinggames but sets the status and games for all child accounts.
Use the second syntax to set specific games for specific child accounts.
Replace "myacc1" etc. with the username of the corresponding account.

This example will display "Specific Game" game & idle CS2 only for account "myacc1", idle nothing for account "myacc25" and display "General Game" & idle TF2 for all other accounts. | | yourgroup | "url to group" | Advertise your group with the !group command. Leave it empty (like this: "") to disable the command. | | botsgroupid | "url to group" | All bot accounts will join this group. Disable this feature by leaving the brackets empty (like this: ""). | | acceptgroupinvites | true or false | Defines if the bots will accept group invites from other users. A group invite from the main bot will always be accepted. | | owner | "url to profile" | Advertise your own profile with the !owner command. Leave it empty (like this: "") to disable the command. | -| ownerid | ["profile link or id1", "id2"] | Sets these users as owners. Needs to be set to use the bot. You can set profile links or ids like in the example to have multiple owners. | \ No newline at end of file +| ownerid | ["profile link or id1", "id2"] | Sets these users as owners. Needs to be set to use the bot. You can set profile links or ids like in the example to have multiple owners. | diff --git a/scripts/langStringsChangeDetector.js b/scripts/langStringsChangeDetector.js index 275f452d..a8b01034 100644 --- a/scripts/langStringsChangeDetector.js +++ b/scripts/langStringsChangeDetector.js @@ -4,7 +4,7 @@ * Created Date: 2023-06-05 13:59:22 * Author: 3urobeat * - * Last Modified: 2023-12-27 13:56:56 + * Last Modified: 2023-12-28 21:07:27 * Modified By: 3urobeat * * Copyright (c) 2023 3urobeat @@ -22,7 +22,7 @@ // Load files const oldLang = require("./oldLang.json"); -const newLang = require("./newLang.json"); +const newLang = require("../src/data/lang/english.json"); // Check for additions diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 55ad2e57..b48c130c 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -228,7 +228,7 @@ { "path": "docs/wiki/config_doc.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/wiki/config_doc.md", - "checksum": "aa90b71640a8950d2e12fd39c015f5ea" + "checksum": "846b5f9f8451895a3c5b013239051497" }, { "path": "docs/wiki/contributing.md", @@ -298,7 +298,7 @@ { "path": "scripts/langStringsChangeDetector.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/scripts/langStringsChangeDetector.js", - "checksum": "42376e0c4eeb99da681565189fd0bbc1" + "checksum": "94481e3c20d91c1fb37e8de4d0a4c688" }, { "path": "src/bot/EStatus.js", From 123e867eefd2f9a77007f609cd1c0d8fa8c2a21b Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Thu, 28 Dec 2023 23:27:31 +0100 Subject: [PATCH 30/33] Fix dataImport not resolving language correctly on restore --- src/data/fileStructure.json | 4 ++-- src/dataManager/dataImport.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index b48c130c..0f016260 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -383,7 +383,7 @@ { "path": "src/commands/core/comment.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/commands/core/comment.js", - "checksum": "b4bbfef42c05e8ff9721f14e6f1ec522" + "checksum": "306bd429a323f88c659026174b07a5bb" }, { "path": "src/commands/core/favorite.js", @@ -568,7 +568,7 @@ { "path": "src/dataManager/dataImport.js", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/dataManager/dataImport.js", - "checksum": "8f1bc5eff6c539c51cd963ce1cd268b4" + "checksum": "8a450cbc455fbef8eb6298820f5588ee" }, { "path": "src/dataManager/dataIntegrity.js", diff --git a/src/dataManager/dataImport.js b/src/dataManager/dataImport.js index 587359ba..097e6d61 100644 --- a/src/dataManager/dataImport.js +++ b/src/dataManager/dataImport.js @@ -4,7 +4,7 @@ * Created Date: 2021-07-09 16:26:00 * Author: 3urobeat * - * Last Modified: 2023-12-27 14:12:47 + * Last Modified: 2023-12-28 23:22:59 * Modified By: 3urobeat * * Copyright (c) 2021 - 2023 3urobeat @@ -294,8 +294,8 @@ DataManager.prototype._importFromDisk = async function () { logger("", "", true, true); // Pull the file directly from GitHub. - _this._pullNewFile("english.json", "./src/data/lang/english.json", resolve); // Only resolve for the default language - _this._pullNewFile("english.json", "./src/data/lang/russian.json", () => {}); + _this._pullNewFile("english.json", "./src/data/lang/english.json", (e) => resolve({ "english": e })); // Only resolve for the default language + _this._pullNewFile("russian.json", "./src/data/lang/russian.json", () => {}); } } }); From 9bf503f91345014beffbddba428989aba8a709cb Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 29 Dec 2023 00:03:27 +0100 Subject: [PATCH 31/33] Add changelog for v2.14.1 --- docs/wiki/changelogs/CHANGELOG_v2.14.md | 38 ++++++++++++++++++++++++- src/data/fileStructure.json | 2 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/docs/wiki/changelogs/CHANGELOG_v2.14.md b/docs/wiki/changelogs/CHANGELOG_v2.14.md index 6b89321d..d98d64a5 100644 --- a/docs/wiki/changelogs/CHANGELOG_v2.14.md +++ b/docs/wiki/changelogs/CHANGELOG_v2.14.md @@ -5,6 +5,7 @@ **Current** - [2.14.0](#2.14.0) +- [2.14.1](#2.14.1)   @@ -227,4 +228,39 @@ If you are using a `customlang.json`, make sure to read the language string chan Commit: [b4072cf](https://github.com/3urobeat/steam-comment-service-bot/commit/b4072cf) -  \ No newline at end of file +  + + + +## **2023-12-28, Version 2.14.1** +**Additions:** +- Added logging of username in friendMessage event +- Added logging of friend relationship status in friendMessage and steamChatInteraction handlers +- Added [official discord plugin](https://github.com/3urobeat/steam-comment-bot-discord-plugin) to default package set +- Added a few emojis to the README.md to visually break up the wall of text +- Added a deprecation warning to `logininfo.json` import; please use `accounts.txt` + +**Fixes:** +- Fixed data integrity check failing when using an absolute path [#217](https://github.com/3urobeat/steam-comment-service-bot/issues/217) by forcing working dir to `__dirname` in `start.js` +- Fixed two dependency errors on initial start caused by outdated node.js version +- Fixed `downloadUpdate()` deleting ratingHistory & userSetting database contents (whoops, sorry!) +- Fixed plugin config not being updated when plugin data directory of previously installed plugin has been deleted +- Fixed TypeError and missing license detected when null was provided in `config.json` `childaccplayinggames` +- Fixed comments not allowed on friendsonly profiles + - Profile visibility is now handled better in general +- Fixed dataImport not resolving language correctly on restore + +**Changes:** +- **Bumped minimum supported node.js version to v16.0.0!** + - This fixes the two aforementioned dependency issues on initial start +- Improved how logininfo object is accessed during login and clarified index -> accountName association in wiki +- Failed follow request now inserts user into `ratingHistory.db` anyway because enum 2 is also used for a duplicate request +- Simplified inserting user into `lastcomment.db` database on friend request accept +- Improved language string `failedcmdnothingfound` to include all request types; russian translation update by [@sashascurtu](https://github.com/sashascurtu) +- Ignored `package-lock.json` in dataIntegrity check system +- Removed a few unnecessary last iteration checks when nothing async was happening +- Made `aggregatePluginConfig()` private +- Updated every file header to ISO date and update copyright date +- Wiki: Improved `unfriendtime` config key explanation +- Updated dependencies +- Minor other changes diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index 0f016260..c5d40153 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -178,7 +178,7 @@ { "path": "docs/wiki/changelogs/CHANGELOG_v2.14.md", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/docs/wiki/changelogs/CHANGELOG_v2.14.md", - "checksum": "0b85da48e0fcdebf3eb1085f59ecae53" + "checksum": "19dd048eb9cf59b294038e49eec788e8" }, { "path": "docs/wiki/changelogs/CHANGELOG_v2.2.md", From 902204fa59ef5bb813cf08715f79590322a4d8fe Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 29 Dec 2023 00:03:39 +0100 Subject: [PATCH 32/33] Update deps --- package-lock.json | 12 ++++++------ package.json | 9 +++++---- src/data/fileStructure.json | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee35df09..3ca6ccec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "2.14.0", "license": "GPL-3.0", "dependencies": { - "@seald-io/nedb": "^4.0.2", + "@seald-io/nedb": "^4.0.3", "@types/tail": "^2.2.3", "download": "^8.0.0", "htmlparser2": "^9.0.0", @@ -26,8 +26,8 @@ "steamid-resolver": "^1.3.4" }, "devDependencies": { - "eslint": "^8.55.0", - "eslint-plugin-jsdoc": "^46.9.0", + "eslint": "^8.56.0", + "eslint-plugin-jsdoc": "^46.9.1", "tsd-jsdoc": "^2.5.0" } }, @@ -878,9 +878,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.3.tgz", + "integrity": "sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", diff --git a/package.json b/package.json index 417457f5..a5c339a2 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "The most advanced Steam Multi Account Manager with built-in comment, like & favorite commands and extensive plugin support.", "main": "start.js", "dependencies": { - "@seald-io/nedb": "^4.0.2", + "@seald-io/nedb": "^4.0.3", "@types/tail": "^2.2.3", "download": "^8.0.0", "htmlparser2": "^9.0.0", @@ -23,7 +23,8 @@ "scripts": { "start": "node start.js", "dev": "node scripts/generateFileStructure.js && node start", - "types": "jsdoc -t node_modules/tsd-jsdoc/dist -r src/. -d types ; node scripts/generateFileStructure.js" + "types": "jsdoc -t node_modules/tsd-jsdoc/dist -r src/. -d types ; node scripts/generateFileStructure.js", + "deps": "ncu -u && npm update" }, "author": "3urobeat", "license": "GPL-3.0", @@ -33,8 +34,8 @@ "homepage": "https://github.com/3urobeat", "repository": "https://github.com/3urobeat/steam-comment-service-bot", "devDependencies": { - "eslint": "^8.55.0", - "eslint-plugin-jsdoc": "^46.9.0", + "eslint": "^8.56.0", + "eslint-plugin-jsdoc": "^46.9.1", "tsd-jsdoc": "^2.5.0" }, "types": "./types/types.d.ts" diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index c5d40153..ce376ea4 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "0582d7859df2f692699a08e9757ed254" + "checksum": "d152b19b0de0e054ac3c8dc0a9d1652b" }, { "path": "scripts/README.md", From 32734e5c439b2c4c6decdab4caec0bddfac8fc73 Mon Sep 17 00:00:00 2001 From: 3urobeat <35304405+3urobeat@users.noreply.github.com> Date: Fri, 29 Dec 2023 00:06:30 +0100 Subject: [PATCH 33/33] Version 2.14.1 --- package-lock.json | 4 ++-- package.json | 2 +- src/data/data.json | 12 ++++++------ src/data/fileStructure.json | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ca6ccec..386b3e8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "steam-comment-service-bot", - "version": "2.14.0", + "version": "2.14.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "steam-comment-service-bot", - "version": "2.14.0", + "version": "2.14.1", "license": "GPL-3.0", "dependencies": { "@seald-io/nedb": "^4.0.3", diff --git a/package.json b/package.json index a5c339a2..83292d6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "steam-comment-service-bot", - "version": "2.14.0", + "version": "2.14.1", "description": "The most advanced Steam Multi Account Manager with built-in comment, like & favorite commands and extensive plugin support.", "main": "start.js", "dependencies": { diff --git a/src/data/data.json b/src/data/data.json index c8de0ea8..f0e62fe7 100644 --- a/src/data/data.json +++ b/src/data/data.json @@ -1,14 +1,14 @@ { - "version": "21400", - "versionstr": "2.14.0", - "branch": "beta-testing", + "version": "21401", + "versionstr": "2.14.1", + "branch": "master", "filetostart": "./src/starter.js", - "filetostarturl": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/src/starter.js", + "filetostarturl": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/master/src/starter.js", "mestr": "3urobeat", "aboutstr": "This bot was created by 3urobeat.\nGitHub: https://github.com/3urobeat/steam-comment-service-bot \nSteam: https://steamcommunity.com/id/3urobeat \nIf you like my work, any donation would be appreciated! https://github.com/sponsors/3urobeat", "firststart": true, "compatibilityfeaturedone": false, - "whatsnew": "Added support for commenting in discussions, following users/workshops/curators and setting specific games per account. Added a relogging system with proxy switching support, a multi-language system, fixed a lot of bugs and more. Read the full release notes on GitHub!", + "whatsnew": "Fixed a bunch of bugs and made a few minor improvements, for more details read the release notes on GitHub.", "timesloggedin": 0, "totallogintime": 0 -} \ No newline at end of file +} diff --git a/src/data/fileStructure.json b/src/data/fileStructure.json index ce376ea4..621590ff 100644 --- a/src/data/fileStructure.json +++ b/src/data/fileStructure.json @@ -278,7 +278,7 @@ { "path": "package.json", "url": "https://raw.githubusercontent.com/3urobeat/steam-comment-service-bot/beta-testing/package.json", - "checksum": "d152b19b0de0e054ac3c8dc0a9d1652b" + "checksum": "dbba3b2ff3a3a88733b9079f9fbd27c4" }, { "path": "scripts/README.md",