feat: ack-tracking voor ghost-send detectie (message_ack)

This commit is contained in:
Eddy de Vink 2026-09-24 22:08:36 +02:00
commit 7b4e307438
4 changed files with 122 additions and 1 deletions

View file

@ -5,6 +5,7 @@ const { findDienst, getPngFilePaths } = require('./dienstService')
const { sendTextMessage, sendImageMessage, notifyAdmin, sendChatSeen } = require('./whatsappApi')
const { checkLimit, increment, MAX_REQUESTS_PER_DAY } = require('./rateLimiter')
const { increment: incrementDaily } = require('./dailyStats')
const { handleAck } = require('./ackTracker')
const ALLOWED_GROUP = process.env.ALLOWED_GROUP
const ALLOWED_GROUP_NAMES = (process.env.ALLOWED_GROUP_NAME || '')
@ -67,6 +68,13 @@ function extractDienstnummer(body) {
}
async function handleWebhook(payload) {
if (payload.dataType === 'message_ack') {
if (payload.sessionId && payload.sessionId !== process.env.WHATSAPP_SESSION) return
const { message, ack } = payload.data || {}
const id = message && (message.id?.id || message._data?.id?.id)
if (id) handleAck(id, ack)
return
}
const isWWebEvent = payload.dataType === 'message'
const isAppiumEvent = Boolean(payload.sender && payload.chatId)
if (!isWWebEvent && !isAppiumEvent) return