ishumdz-bail 1.0.15 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Utils/messages.js +26 -4
- package/package.json +1 -1
package/lib/Utils/messages.js
CHANGED
|
@@ -588,6 +588,14 @@ export const generateWAMessageContent = async (message, options) => {
|
|
|
588
588
|
applyContextInfoAndMentions(interactiveMessage, message);
|
|
589
589
|
m = { interactiveMessage };
|
|
590
590
|
}
|
|
591
|
+
else if ('buttonsMessage' in message && !!message.buttonsMessage) {
|
|
592
|
+
// PATCH: raw buttonsMessage pass-through — classic horizontal buttons (reference: Case X Plugin case.js).
|
|
593
|
+
// Fully-formed ButtonsMessage with any header (location/image/video/
|
|
594
|
+
// document), contentText, footerText, headerType and buttons[].
|
|
595
|
+
// type:1 buttons render in one horizontal row; nativeFlowInfo
|
|
596
|
+
// single_select opens a list sheet on tap.
|
|
597
|
+
m = { buttonsMessage: proto.Message.ButtonsMessage.create(message.buttonsMessage) };
|
|
598
|
+
}
|
|
591
599
|
else if ('buttons' in message && !!message.buttons) {
|
|
592
600
|
const buttonsMessage = {
|
|
593
601
|
buttons: message.buttons.map(b => ({ ...b, type: proto.Message.ButtonsMessage.Button.Type.RESPONSE }))
|
|
@@ -600,10 +608,24 @@ export const generateWAMessageContent = async (message, options) => {
|
|
|
600
608
|
if ('caption' in message) {
|
|
601
609
|
buttonsMessage.contentText = message.caption;
|
|
602
610
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
611
|
+
// PATCH: prepare media headers for caption+buttons (fork bug fix).
|
|
612
|
+
// The media branch never ran before this point, so m is empty and
|
|
613
|
+
// getContentType(m) crashed. Build the header right here instead.
|
|
614
|
+
if ('video' in message && !!message.video) {
|
|
615
|
+
const media = await prepareWAMessageMedia({ video: message.video }, options);
|
|
616
|
+
buttonsMessage.videoMessage = media.videoMessage;
|
|
617
|
+
if (message.gifPlayback) buttonsMessage.videoMessage.gifPlayback = true;
|
|
618
|
+
buttonsMessage.headerType = ButtonType.VIDEO;
|
|
619
|
+
} else if ('image' in message && !!message.image) {
|
|
620
|
+
const media = await prepareWAMessageMedia({ image: message.image }, options);
|
|
621
|
+
buttonsMessage.imageMessage = media.imageMessage;
|
|
622
|
+
buttonsMessage.headerType = ButtonType.IMAGE;
|
|
623
|
+
} else {
|
|
624
|
+
const contentType = getContentType(m);
|
|
625
|
+
const type = contentType.replace('Message', '').toUpperCase();
|
|
626
|
+
buttonsMessage.headerType = ButtonType[type];
|
|
627
|
+
Object.assign(buttonsMessage, m);
|
|
628
|
+
}
|
|
607
629
|
}
|
|
608
630
|
if ('footer' in message && !!message.footer) {
|
|
609
631
|
buttonsMessage.footerText = message.footer;
|