bot: pauze tussen pagina-sends (PAGE_SEND_DELAY_MS) tegen staged-ghost-race
This commit is contained in:
parent
ee9b67a78e
commit
b1b6137d8a
4 changed files with 59 additions and 8 deletions
|
|
@ -3,6 +3,21 @@ const { sendTextMessage, sendImageMessage, notifyAdmin, sendChatSeen } = require
|
|||
const { checkLimit, increment, MAX_REQUESTS_PER_DAY } = require('./rateLimiter')
|
||||
const { increment: incrementDaily } = require('./dailyStats')
|
||||
|
||||
// Pauze tussen opeenvolgende pagina-sends. De staged-ghost-race (RCA 2026-09-26)
|
||||
// treedt op als de 2e pagina start terwijl de 1e nog écht transmetteert — de bot
|
||||
// wacht per pagina alleen op het optimistische brug-signaal (staging), en de
|
||||
// bridge-delay (MEDIA_SEND_DELAY_MS) wacht óók op staging (delay loss effect).
|
||||
// Een bot-side wacht maakt van elke pagina een effectief losse send: die komen
|
||||
// empirisch wél aan (enkele sends falen nooit).
|
||||
const PAGE_SEND_DELAY_MS = (() => {
|
||||
const parsed = parseInt(process.env.PAGE_SEND_DELAY_MS, 10)
|
||||
return Number.isFinite(parsed) && parsed >= 0 ? parsed : 15000
|
||||
})()
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms))
|
||||
}
|
||||
|
||||
const ALLOWED_GROUP = process.env.ALLOWED_GROUP
|
||||
const ALLOWED_GROUP_NAMES = (process.env.ALLOWED_GROUP_NAME || '')
|
||||
.split(',')
|
||||
|
|
@ -78,6 +93,11 @@ async function handleWebhook(payload) {
|
|||
console.error(errorMsg)
|
||||
await notifyAdmin(errorMsg)
|
||||
}
|
||||
// Wacht vóór de volgende pagina zodat de echte transmissie van deze pagina
|
||||
// klaar is (staged-ghost-race RCA) — 0 zet de pauze uit.
|
||||
if (i < pngPaths.length - 1 && PAGE_SEND_DELAY_MS > 0) {
|
||||
await sleep(PAGE_SEND_DELAY_MS)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue