Проверяй на наличие мута либо через Cron, либо непосредственно при поступлении от пользователя сообщения и только тогда проверяй, и если нужно снимай его.
vk.updates.on('message_new', async (ctx, next) => {
if (!ctx.isChat) return await next();
await mongo.models.chatsusers.findOneAndUpdate(
{
muted: true,
mutedTime: { $lte: now },
vkId: ctx.senderId,
join_chat: ctx.chatId,
},
{
muted: false,
mutedTime: 'None',
mutedReason: 'None',
},
);
await mongo.models.chatsusers.findOneAndUpdate(
{
banned: true,
bannedTime: { $lte: now },
vkId: ctx.senderId,
join_chat: ctx.chatId,
},
{
banned: false,
bannedTime: 'None',
bannedReason: 'None',
},
);
});