fix: dont add deleted users to users:online

dont set their lastonline field
isekai-main
Barış Soner Uşaklı 2 years ago
parent db3bff094e
commit d0e9eb2ca4

@ -10,9 +10,9 @@ module.exports = function (User) {
if (!(parseInt(uid, 10) > 0)) { if (!(parseInt(uid, 10) > 0)) {
return; return;
} }
const userData = await db.getObjectFields(`user:${uid}`, ['status', 'lastonline']); const userData = await db.getObjectFields(`user:${uid}`, ['userslug', 'status', 'lastonline']);
const now = Date.now(); const now = Date.now();
if (userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) { if (!userData.userslug || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
return; return;
} }
await User.setUserField(uid, 'lastonline', now); await User.setUserField(uid, 'lastonline', now);
@ -22,9 +22,12 @@ module.exports = function (User) {
if (!(parseInt(uid, 10) > 0)) { if (!(parseInt(uid, 10) > 0)) {
return; return;
} }
const [exists, userOnlineTime] = await Promise.all([
User.exists(uid),
db.sortedSetScore('users:online', uid),
]);
const now = Date.now(); const now = Date.now();
const userOnlineTime = await db.sortedSetScore('users:online', uid); if (!exists || (now - parseInt(userOnlineTime, 10) < 300000)) {
if (now - parseInt(userOnlineTime, 10) < 300000) {
return; return;
} }
await User.onUserOnline(uid, now); await User.onUserOnline(uid, now);

Loading…
Cancel
Save