mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-25 06:34:58 +05:00
add test function to reminds
This commit is contained in:
parent
34b219e278
commit
c22dd92a35
1 changed files with 58 additions and 0 deletions
|
@ -57,3 +57,61 @@ module.exports.init = function (client) {
|
||||||
});
|
});
|
||||||
}, 1000);
|
}, 1000);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import("../base/Client")} client
|
||||||
|
*/
|
||||||
|
module.exports.run = function (client) {
|
||||||
|
client.usersData.find({ reminds: { $gt: [] } }).then(users => {
|
||||||
|
for (const user of users) {
|
||||||
|
if (!client.users.cache.has(user.id)) client.users.fetch(user.id);
|
||||||
|
|
||||||
|
client.databaseCache.usersReminds.set(user.id, user);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
client.databaseCache.usersReminds.forEach(async user => {
|
||||||
|
const cachedUser = client.users.cache.get(user.id);
|
||||||
|
|
||||||
|
if (cachedUser) {
|
||||||
|
const dateNow = Math.floor(Date.now() / 1000),
|
||||||
|
reminds = user.reminds,
|
||||||
|
mustSent = reminds.filter(r => r.sendAt < dateNow);
|
||||||
|
|
||||||
|
if (mustSent.length > 0) {
|
||||||
|
mustSent.forEach(r => {
|
||||||
|
const embed = client.embed({
|
||||||
|
author: client.translate("general/remindme:EMBED_TITLE"),
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
name: client.translate("general/remindme:EMBED_CREATED"),
|
||||||
|
value: `<t:${r.createdAt}:f>`,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: client.translate("general/remindme:EMBED_TIME"),
|
||||||
|
value: `<t:${r.sendAt}:f>`,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: client.translate("common:MESSAGE"),
|
||||||
|
value: r.message,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
cachedUser.send({
|
||||||
|
embeds: [embed],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
user.reminds = user.reminds.filter(r => r.sendAt >= dateNow);
|
||||||
|
|
||||||
|
await user.save();
|
||||||
|
|
||||||
|
if (user.reminds.length === 0) client.databaseCache.usersReminds.delete(user.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in a new issue