feat: ack-tracking voor ghost-send detectie (message_ack)
This commit is contained in:
parent
1d5a233f68
commit
7b4e307438
4 changed files with 122 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue