fgfgfg
This commit is contained in:
parent
7be6748f4a
commit
7b97c7321a
109
index.js
109
index.js
@ -3,6 +3,8 @@ const qrcode = require('qrcode');
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const NodeCache = require('node-cache');
|
const NodeCache = require('node-cache');
|
||||||
|
const mime = require('mime-types');
|
||||||
|
|
||||||
const {
|
const {
|
||||||
default: makeWASocket,
|
default: makeWASocket,
|
||||||
useMultiFileAuthState,
|
useMultiFileAuthState,
|
||||||
@ -490,6 +492,8 @@ app.post('/testViewOnce', async (req, res) => {
|
|||||||
res.status(500).json({ error: e.message });
|
res.status(500).json({ error: e.message });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
app.post('/testHeaderImage', async (req, res) => {
|
app.post('/testHeaderImage', async (req, res) => {
|
||||||
const { phone } = req.body;
|
const { phone } = req.body;
|
||||||
|
|
||||||
@ -500,71 +504,55 @@ app.post('/testHeaderImage', async (req, res) => {
|
|||||||
const jid = `${phone}@s.whatsapp.net`;
|
const jid = `${phone}@s.whatsapp.net`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let msg = generateWAMessageFromContent(jid, {
|
// 1. Charger l'image locale
|
||||||
|
const imagePath = path.join(__dirname, 'public/logo-merlo-cs-FR.jpg');
|
||||||
|
const imageBuffer = fs.readFileSync(imagePath);
|
||||||
|
|
||||||
|
// 2. Préparer le média (image)
|
||||||
|
const media = await sock.prepareMessageMedia(
|
||||||
|
{ image: imageBuffer },
|
||||||
|
{ upload: sock.waUploadToServer }
|
||||||
|
);
|
||||||
|
|
||||||
|
// 3. Créer le message interactif avec image dans le header
|
||||||
|
const msg = generateWAMessageFromContent(jid, {
|
||||||
viewOnceMessage: {
|
viewOnceMessage: {
|
||||||
message: {
|
message: {
|
||||||
"messageContextInfo": {
|
messageContextInfo: {
|
||||||
"deviceListMetadata": {},
|
deviceListMetadata: {},
|
||||||
"deviceListMetadataVersion": 2
|
deviceListMetadataVersion: 2
|
||||||
},
|
},
|
||||||
interactiveMessage: proto.Message.InteractiveMessage.create({
|
interactiveMessage: proto.Message.InteractiveMessage.create({
|
||||||
body: proto.Message.InteractiveMessage.Body.create({
|
body: proto.Message.InteractiveMessage.Body.create({
|
||||||
text: "Fizzxy Dev"
|
text: "Fizzxy Dev"
|
||||||
}),
|
}),
|
||||||
footer: proto.Message.InteractiveMessage.Footer.create({
|
footer: proto.Message.InteractiveMessage.Footer.create({
|
||||||
text: "Bot"
|
text: "Bot"
|
||||||
}),
|
}),
|
||||||
header: proto.Message.InteractiveMessage.Header.create({
|
header: proto.Message.InteractiveMessage.Header.create({
|
||||||
title: "Igna",
|
hasMediaAttachment: true,
|
||||||
subtitle: "test",
|
imageMessage: media.imageMessage,
|
||||||
hasMediaAttachment: false
|
title: "Logo Merlo",
|
||||||
}),
|
subtitle: "Header avec image"
|
||||||
nativeFlowMessage: proto.Message.InteractiveMessage.NativeFlowMessage.create({
|
}),
|
||||||
buttons: [
|
nativeFlowMessage: proto.Message.InteractiveMessage.NativeFlowMessage.create({
|
||||||
{
|
buttons: [
|
||||||
"name": "single_select",
|
{
|
||||||
"buttonParamsJson": "{\"title\":\"title\",\"sections\":[{\".menu\":\".play dj webito\",\"highlight_label\":\"label\",\"rows\":[{\"header\":\"header\",\"title\":\"title\",\"description\":\"description\",\"id\":\"id\"},{\"header\":\"header\",\"title\":\"title\",\"description\":\"description\",\"id\":\"id\"}]}]}"
|
name: "cta_url",
|
||||||
},
|
buttonParamsJson: JSON.stringify({
|
||||||
{
|
display_text: "Google",
|
||||||
"name": "cta_reply",
|
url: "https://www.google.com",
|
||||||
"buttonParamsJson": "{\"display_text\":\"quick_reply\",\"id\":\"message\"}"
|
merchant_url: "https://www.google.com"
|
||||||
},
|
})
|
||||||
{
|
}
|
||||||
"name": "cta_url",
|
]
|
||||||
"buttonParamsJson": "{\"display_text\":\"url\",\"url\":\"https://www.google.com\",\"merchant_url\":\"https://www.google.com\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cta_call",
|
|
||||||
"buttonParamsJson": "{\"display_text\":\"call\",\"id\":\"message\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cta_copy",
|
|
||||||
"buttonParamsJson": "{\"display_text\":\"copy\",\"id\":\"123456789\",\"copy_code\":\"message\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cta_reminder",
|
|
||||||
"buttonParamsJson": "{\"display_text\":\"Recordatorio\",\"id\":\"message\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "cta_cancel_reminder",
|
|
||||||
"buttonParamsJson": "{\"display_text\":\"cta_cancel_reminder\",\"id\":\"message\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "address_message",
|
|
||||||
"buttonParamsJson": "{\"display_text\":\"address_message\",\"id\":\"message\"}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "send_location",
|
|
||||||
"buttonParamsJson": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, {})
|
}, {});
|
||||||
|
|
||||||
console.log(msg.message);
|
// 4. Envoyer le message
|
||||||
await sock.relayMessage(jid, msg.message, { messageId: msg.key.id });
|
await sock.relayMessage(jid, msg.message, { messageId: msg.key.id });
|
||||||
|
|
||||||
res.json({ success: true });
|
res.json({ success: true });
|
||||||
@ -576,6 +564,7 @@ app.post('/testHeaderImage', async (req, res) => {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 5) 404 et gestion des erreurs
|
// 5) 404 et gestion des erreurs
|
||||||
app.use((req, res) => res.status(404).json({ error: 'Ressource introuvable' }));
|
app.use((req, res) => res.status(404).json({ error: 'Ressource introuvable' }));
|
||||||
app.use((err, req, res, next) => {
|
app.use((err, req, res, next) => {
|
||||||
|
|||||||
@ -13,7 +13,9 @@
|
|||||||
"express": "^4.18.4",
|
"express": "^4.18.4",
|
||||||
"qrcode": "^1.5.1",
|
"qrcode": "^1.5.1",
|
||||||
"sharp": "^0.33.0",
|
"sharp": "^0.33.0",
|
||||||
"node-cache": "^5.1.2"
|
"node-cache": "^5.1.2",
|
||||||
|
"mime-types": "^2.1.35"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user