add autorelease interval func
parent
14711de6de
commit
bfe4c06835
|
@ -0,0 +1,24 @@
|
|||
import { Client } from '../class';
|
||||
|
||||
let interval: NodeJS.Timeout;
|
||||
|
||||
export default function checkLock(client: Client) {
|
||||
interval = setInterval(async () => {
|
||||
try {
|
||||
const moderations = await client.db.moderation.find();
|
||||
moderations.forEach(async (moderation) => {
|
||||
if (!moderation.expiration) return;
|
||||
if (moderation.expiration.processed) return;
|
||||
if (new Date() > moderation.expiration.date) {
|
||||
await moderation.updateOne({ 'expiration.processed': true });
|
||||
const moderator = client.guilds.get(client.config.guildID).members.get(moderation.moderatorID);
|
||||
await client.util.moderation.unban(moderation.userID, moderator);
|
||||
client.util.signale.complete(`Released member ${moderation.userID} | Queue date at ${moderation.expiration.date.toLocaleString('en-us')}`);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
await client.util.handleError(error);
|
||||
}
|
||||
}, 10000);
|
||||
return interval;
|
||||
}
|
Loading…
Reference in New Issue