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

Loading…
Cancel
Save