From 8f09da83091973ab6fa0e51615b49e5993c1589a Mon Sep 17 00:00:00 2001 From: mrfry Date: Tue, 17 Nov 2020 11:50:10 +0100 Subject: [PATCH] User specific motd see counter --- src/modules/api/api.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/modules/api/api.js b/src/modules/api/api.js index 7f0283d..1aa97f1 100644 --- a/src/modules/api/api.js +++ b/src/modules/api/api.js @@ -154,8 +154,10 @@ function GetApp() { } } - function userSpecificMotdSeenBy(id) { + function userShouldGetUserSpecificMOTD(id) { + let shouldSee = true let write = false + if (!userSpecificMotd[id].seen) { logger.Log( `User #${id}'s user specific motd is now seen.`, @@ -168,16 +170,18 @@ function GetApp() { } if (userSpecificMotd[id].seeCounter) { - userSpecificMotd[id].seeCounter -= 1 - if (userSpecificMotd[id].seeCounter === 1) { - delete userSpecificMotd[id] + if (userSpecificMotd[id].seeCounter <= 1) { + shouldSee = false + } else { + userSpecificMotd[id].seeCounter -= 1 + write = true } - write = true } if (write) { utils.WriteFile(JSON.stringify(userSpecificMotd), userSpecificMotdFile) } + return shouldSee } function Load() { @@ -986,9 +990,8 @@ function GetApp() { } if (req.query.motd) { result.motd = motd - if (userSpecificMotd[user.id]) { + if (userSpecificMotd[user.id] && userShouldGetUserSpecificMOTD(user.id)) { result.userSpecificMotd = userSpecificMotd[user.id].msg - userSpecificMotdSeenBy(user.id) } } res.json(result)