Finally got the ban to work.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
const cron = require('node-cron');
|
||||
const client = require('../../main');
|
||||
const moment = require('moment');
|
||||
const BanManager = require('../../database/models/BanManager');
|
||||
const { getUserData } = require('../../functions/userFetch');
|
||||
const { moderationUtilities } = require('../../functions/utils');
|
||||
|
||||
cron.schedule('* * * * * *', async () => {
|
||||
const bans = await BanManager.find({});
|
||||
|
||||
if (bans) {
|
||||
bans.forEach(async (ban) => {
|
||||
const userData = await getUserData(ban.userId);
|
||||
|
||||
const guild = client.guilds.cache.get(ban.guildId);
|
||||
if (!guild) return;
|
||||
|
||||
const timeEnd = ban.timeEnd;
|
||||
const now = moment().format('ddd, DD/MM/YYYY, HH:mm:ss ZZ');
|
||||
|
||||
if (timeEnd <= now) {
|
||||
const guild = client.guilds.cache.get(ban.guildId);
|
||||
await guild.members.unban(ban.userId);
|
||||
await BanManager.deleteOne({ guildId: ban.guildId, userId: ban.userId });
|
||||
await moderationUtilities(
|
||||
ban.guildId,
|
||||
ban.userId,
|
||||
client.user.id,
|
||||
`Unbanned ${userData.username} (${ban.userId}) from ${guild.name}.`,
|
||||
'unban',
|
||||
null
|
||||
)
|
||||
console.log(`Unbanned ${userData.username} (${ban.userId}) from ${guild.name}.`);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('No bans found');
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user