fix: remove pinnedMessageService, fix port 3000→3001 in .env.example, annotate specs

This commit is contained in:
Eddy de Vink 2026-07-17 12:06:12 +02:00
commit b3178ef3f2
5 changed files with 13 additions and 67 deletions

View file

@ -2,7 +2,6 @@ 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 { checkAndRepinPinnedMessage } = require('./pinnedMessageService')
const ALLOWED_GROUP = process.env.ALLOWED_GROUP
@ -20,8 +19,6 @@ async function handleWebhook(payload) {
if (message.fromMe) return
if (message.from !== ALLOWED_GROUP) return
checkAndRepinPinnedMessage()
const dienstnummer = extractDienstnummer(message.body || '')
if (!dienstnummer) return

View file

@ -1,63 +0,0 @@
const axios = require('axios')
const API_BASE = process.env.WHATSAPP_API_ENDPOINT
const SESSION = process.env.WHATSAPP_SESSION
const ALLOWED_GROUP = process.env.ALLOWED_GROUP
const PIN_DURATION = 30 * 24 * 60 * 60
const PINNED_TEXT = 'Welkom in Dienst opvragen EdGpt-EBS. Stuur hier je 4 cijferige dienstnummer en EdGpt zal het prive naar je toe sturen, alleen 4 cijfers meer niet.'
async function getPinnedMessages() {
try {
const url = `${API_BASE}/groupChat/runMethod/${SESSION}`
const response = await axios.post(url, {
chatId: ALLOWED_GROUP,
method: 'getPinnedMessages'
})
return response.data.data || []
} catch (err) {
console.error('Failed to get pinned messages:', err.message)
return []
}
}
async function sendPinnedMessage() {
const url = `${API_BASE}/client/sendMessage/${SESSION}`
const response = await axios.post(url, {
chatId: ALLOWED_GROUP,
contentType: 'string',
content: PINNED_TEXT
})
return response.data
}
async function pinMessage(messageId) {
const url = `${API_BASE}/message/runMethod/${SESSION}`
const response = await axios.post(url, {
chatId: ALLOWED_GROUP,
messageId,
method: 'pin',
options: PIN_DURATION
})
return response.data
}
async function checkAndRepinPinnedMessage() {
try {
const pinned = await getPinnedMessages()
if (pinned.length > 0) return
console.log('No pinned message found, sending and pinning...')
const sent = await sendPinnedMessage()
const messageId = sent?.message?.id?._serialized
if (!messageId) {
console.error('Failed to get messageId from sent message')
return
}
await pinMessage(messageId)
console.log(`Pinned message sent and pinned: ${messageId}`)
} catch (err) {
console.error('Failed to check/repin pinned message:', err.message)
}
}
module.exports = { checkAndRepinPinnedMessage }