Написал интервалы, на постоянку выдают что нашли баны у людей на это время. Но а сами не убирают баны, + там нету вообще ни у кого ни мутов ни банов.
Вот интервалы:
1:
setInterval(() => {
// Ищем людей с мутом
let mutedChatUsers = mongo.models.chatsusers.find({ muted: String(true) });
// Проверяем есть вообще люди с мутом
if(!mutedChatUsers) return console.log(`Nothing`)
// Получаем дату
let now = getCurrentTime()
// Ищем людей у которых время бана сравняется с текущим временем
mutedChatUsers.find({ muted: true, mutedTime: now }).then((resM) => {
// Если их нету
if(!resM) return console.log(`Nothing`)
// Если есть
console.log(`Founded muted ${now}`)
mongo.models.chatsusers.updateMany({ muted: true, mutedTime: now }, { $set: { muted: false, mutedTime: "None", mutedReason: "None" } })
}).catch((err) => {
console.log(err)
});
}, 10000);
2:
setInterval(() => {
// Ищем людей с баном и мутом
let bannedChatUsers = mongo.models.chatsusers.find({ banned: String(true) });
// Проверяем есть вообще люди с баном
if(!bannedChatUsers) console.log(`Nothing`)
// Получаем дату
let now = getCurrentTime()
// Ищем людей у которых время бана сравняется с текущим временем
bannedChatUsers.find({ banned: true, mutedTime: now }).then((resM) => {
// Если их нету
if(!resM) return console.log(`Nothing`)
// Если есть
console.log(`Founded banned`)
mongo.models.chatsusers.updateMany({ banned: true, bannedTime: now }, { $set: { banned: false, bannedTime: "None", bannedReason: "None" } })
}).catch((err) => {
console.log(err)
});
}, 10000);
Вот код функции getCurrentTime():
function getCurrentTime() {
const now = new Date();
const day = String(now.getDate()).padStart(2, '0');
const month = String(now.getMonth() + 1).padStart(2, '0');
const year = now.getFullYear();
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const formattedTime = `${day}.${month}.${year} ${hours}:${minutes}`;
return formattedTime;
}
Структура модуля базы данных chatsusers:
mongoose.model("chatusers", {
rank: Number,
warns: Number,
name: String,
banned: Number,
vkid: String,
muted: String,
mutedReason: String,
mutedTime: String,
banned: String,
bannedReason: String,
bannedTime: String,
new: String,
join_date: String,
join_time: String,
join_chat: Number,
})