Si oui, oui c'est sur qu'il ne faut pas commencer à vérifier ça manuellement
Pour ces sites, je ne sais pas s'il y a des API, je n'ai pas vraiment fait de recherche à ce sujet
Disons que pour moi, ça va, je n'ai "que" +/- 10 000 messages à traiter, donc c'est franchement rapide ( 2 à 3 secondes je crois ).
Pour faire simple, je compare deux bases de données, à savoir : Une première contenant tous les messages archivés ( Les messages de cette base ne sont jamais mise à jour après enregistrement ), et une deuxième, qui elle se met à jour toutes les 6h ( Paramétrable dans la config ).
Après je compare les deux, et si un message n'est plus dans la deuxième, ça veut dire que le message est supprimé
Ça c'est une méthode qui fonctionne quand il n'y a pas trop de messages à traiter, mais je ne pense pas que ça soit très efficace ( Niveau vitesse ) pour des milliers ( Voir millions ? ) de messages ^^
Donc comment allUpdatablesMessages[index] peut ne rien retourner (ou un false)?
Le seul cas oú ça marche c'est pour les derniers éléments du tableau, si ils ont été supprimés alors effectivement ça renverra un null oú je sais pas quoi puisque le tableau sera plus court.
eg allMessages a 5000 éléments, allUpdatablesMessages n'en a plus que 4998 => ça trouvera rien pour allUpdatablesMessages[5000]
// Function for check message is removed
const checkIfMessageRemoved = function () {
// Return promise
return new Promise(function (resolve) {
// Get all messages
const allMessages = db.get('messages').value();
// Get all updatables messages
const allUpdatablesMessages = dbUpdatable.get('messages').value();
// Loop in all messages
for(const index in allMessages) {
// If message is not in updatables messages
if(!allUpdatablesMessages[index] && !allMessages[index].removedAlertSent) {
// Set message
const message = allMessages[index];
// Log
console.log('Alert | A message has been removed : '+message.link);
// Update message alert status
db.get('messages').get(index).set('removedAlertSent', true).write();
// If email is enable
if(config.email.enable) {
// Send alert email