From b9c3cdb679c489bc4969da15e479965465fe2da7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 7 Sep 2023 11:04:01 -0400 Subject: [PATCH] fix: use isPrivileged instead of isAdmin --- src/api/chats.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/api/chats.js b/src/api/chats.js index bf8d01df9c..3d8581509b 100644 --- a/src/api/chats.js +++ b/src/api/chats.js @@ -17,16 +17,18 @@ const chatsAPI = module.exports; async function rateLimitExceeded(caller) { const session = caller.request ? caller.request.session : caller.session; // socket vs req const now = Date.now(); - const [isAdmin, reputation] = await Promise.all([ - user.isAdministrator(caller.uid), + const [isPrivileged, reputation] = await Promise.all([ + user.isPrivileged(caller.uid), user.getUserField(caller.uid, 'reputation'), ]); - const newbie = !isAdmin && meta.config.newbiePostDelayThreshold > reputation; + const newbie = !isPrivileged && meta.config.newbiePostDelayThreshold > reputation; const delay = newbie ? meta.config.newbieChatMessageDelay : meta.config.chatMessageDelay; session.lastChatMessageTime = session.lastChatMessageTime || 0; + if (now - session.lastChatMessageTime < delay) { return true; } + session.lastChatMessageTime = now; return false; }