fix(wa): proses spintax {A|B|C} terpusat di waNotifyService (teks/gambar/dokumen)
This commit is contained in:
1 parent
c3b785f544
commit
a711a9ebe2
1 file changed
+10
-1
@@ -11,6 +11,13 @@ function gateway() {
|
|||||||
return String(getSetting('wa_gateway_type', 'baileys') || 'baileys').toLowerCase();
|
return String(getSetting('wa_gateway_type', 'baileys') || 'baileys').toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function spx(t) {
|
||||||
|
return String(t || '').replace(/\{([^{}|]+(?:\|[^{}|]+)+)\}/g, function (m, c) {
|
||||||
|
const arr = c.split('|');
|
||||||
|
return arr[Math.floor(Math.random() * arr.length)].trim();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function publicBaseUrl() {
|
function publicBaseUrl() {
|
||||||
let base = String(getSetting('public_base_url', '') || '').trim();
|
let base = String(getSetting('public_base_url', '') || '').trim();
|
||||||
if (base) return base.replace(/\/+$/, '');
|
if (base) return base.replace(/\/+$/, '');
|
||||||
@@ -36,7 +43,7 @@ function saveTemp(buffer, ext) {
|
|||||||
async function sendText(phone, text) {
|
async function sendText(phone, text) {
|
||||||
try {
|
try {
|
||||||
const whatsappService = require('./whatsappService');
|
const whatsappService = require('./whatsappService');
|
||||||
await whatsappService.sendWhatsAppMessage(phone, text);
|
await whatsappService.sendWhatsAppMessage(phone, spx(text));
|
||||||
return true;
|
return true;
|
||||||
} catch (e) { return false; }
|
} catch (e) { return false; }
|
||||||
}
|
}
|
||||||
@@ -66,6 +73,7 @@ async function sendMetaImage(phone, buffer, caption) {
|
|||||||
|
|
||||||
async function sendImage(phone, imageBuffer, caption) {
|
async function sendImage(phone, imageBuffer, caption) {
|
||||||
const gw = gateway();
|
const gw = gateway();
|
||||||
|
caption = spx(caption || '');
|
||||||
try {
|
try {
|
||||||
if (gw === 'gowa') { await require('./gowaWhatsappService').sendGowaImage(phone, imageBuffer, caption || ''); return true; }
|
if (gw === 'gowa') { await require('./gowaWhatsappService').sendGowaImage(phone, imageBuffer, caption || ''); return true; }
|
||||||
if (gw === 'baileys') { const mod = await import('./whatsappBot.mjs'); return await mod.sendWAImage(phone, imageBuffer, caption || ''); }
|
if (gw === 'baileys') { const mod = await import('./whatsappBot.mjs'); return await mod.sendWAImage(phone, imageBuffer, caption || ''); }
|
||||||
@@ -84,6 +92,7 @@ async function sendImage(phone, imageBuffer, caption) {
|
|||||||
async function sendDocument(phone, docBuffer, filename, caption, mimetype) {
|
async function sendDocument(phone, docBuffer, filename, caption, mimetype) {
|
||||||
const gw = gateway();
|
const gw = gateway();
|
||||||
const fn = filename || 'file.pdf';
|
const fn = filename || 'file.pdf';
|
||||||
|
caption = spx(caption || '');
|
||||||
try {
|
try {
|
||||||
if (gw === 'gowa') { await require('./gowaWhatsappService').sendGowaDocument(phone, docBuffer, fn, caption || '', mimetype || 'application/pdf'); return true; }
|
if (gw === 'gowa') { await require('./gowaWhatsappService').sendGowaDocument(phone, docBuffer, fn, caption || '', mimetype || 'application/pdf'); return true; }
|
||||||
if (gw === 'baileys') { const mod = await import('./whatsappBot.mjs'); return await mod.sendWADocument(phone, docBuffer, fn, caption || '', mimetype || 'application/pdf'); }
|
if (gw === 'baileys') { const mod = await import('./whatsappBot.mjs'); return await mod.sendWADocument(phone, docBuffer, fn, caption || '', mimetype || 'application/pdf'); }
|
||||||
|
|||||||
Reference in new issue
Block a user