fix: remove pinnedMessageService, fix port 3000→3001 in .env.example, annotate specs
This commit is contained in:
parent
9bb5849969
commit
b3178ef3f2
5 changed files with 13 additions and 67 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 }
|
||||
Loading…
Reference in a new issue