diff --git a/.env.example b/.env.example index 21102fb..96341f2 100644 --- a/.env.example +++ b/.env.example @@ -25,6 +25,7 @@ MAX_REQUESTS_PER_DAY=5 ACK_STUCK_TIMEOUT_MS=300000 # 5 min zonder ack 2 = stuck ACK_PRUNED_AFTER_MS=1800000 # 30 min: stale trackings opruimen (loop stopt dan) ACK_CHECK_INTERVAL_MS=30000 # checkinterval (alleen actief als er iets pending is) +MEDIA_SEND_DELAY_MS=500 # pauze tussen pagina's van een dienst (niet vóór de eerste) # Admin notifications ADMIN_NUMBER=31612345678@c.us diff --git a/src/messageHandler.js b/src/messageHandler.js index eae61e1..a94f579 100644 --- a/src/messageHandler.js +++ b/src/messageHandler.js @@ -74,7 +74,14 @@ async function handleWebhook(payload) { return } - for (const pngPath of pngPaths) { + // Defensieve spreiding tussen pagina's (niet vóór de eerste): verlaagt de kans op + // gelijktijdige storage/upload-conflicten in de wwebjs-media-pipeline. + const mediaSendDelayMs = parseInt(process.env.MEDIA_SEND_DELAY_MS, 10) || 500 + for (let i = 0; i < pngPaths.length; i++) { + const pngPath = pngPaths[i] + if (i > 0 && mediaSendDelayMs > 0) { + await new Promise(resolve => setTimeout(resolve, mediaSendDelayMs)) + } const filename = pngPath.split('/').pop() try { await sendImageMessage(author, pngPath, filename)