@rexxhayanasi/elaina-baileys 1.2.1-rc.2 → 1.2.1-rc.3

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.
@@ -107,80 +107,85 @@ const prepareWAMessageMedia = async (message, options) => {
107
107
  }
108
108
  }
109
109
 
110
- const isNewsletter = !!options.jid && (0, WABinary_1.isJidNewsletter)(options.jid);
110
+ const isNewsletter = !!options.jid && (0, WABinary_1.isJidNewsletter)(options.jid);
111
111
 
112
- if (isNewsletter) {
113
- logger === null || logger === void 0 ? void 0 : logger.info({ key: cacheableKey }, 'Preparing raw media for newsletter');
112
+ if (isNewsletter) {
113
+ logger === null || logger === void 0 ? void 0 : logger.info({ key: cacheableKey }, 'Preparing raw media for newsletter');
114
114
 
115
- const { filePath, fileSha256, fileLength } = await (0, messages_media_1.getRawMediaUploadData)(
116
- uploadData.media,
117
- options.mediaTypeOverride || mediaType,
118
- logger
119
- );
115
+ const { filePath, fileSha256, fileLength } = await (0, messages_media_1.getRawMediaUploadData)(
116
+ uploadData.media,
117
+ options.mediaTypeOverride || mediaType,
118
+ logger
119
+ );
120
120
 
121
- const fileSha256B64 = fileSha256.toString('base64');
121
+ const fileSha256B64 = fileSha256.toString('base64');
122
122
 
123
- try {
124
- if (mediaType === 'video' || mediaType === 'image') {
125
- const { thumbnail, originalImageDimensions } = await (0, messages_media_1.generateThumbnail)(filePath, mediaType, options);
126
- uploadData.jpegThumbnail = thumbnail;
123
+ try {
124
+ if (mediaType === 'video' || mediaType === 'image') {
125
+ const { thumbnail, originalImageDimensions } = await (0, messages_media_1.generateThumbnail)(filePath, mediaType, options);
126
+ if (!uploadData.jpegThumbnail) uploadData.jpegThumbnail = thumbnail;
127
127
 
128
- if (!uploadData.width && originalImageDimensions) {
129
- uploadData.width = originalImageDimensions.width;
130
- uploadData.height = originalImageDimensions.height;
128
+ if (!uploadData.width && originalImageDimensions) {
129
+ uploadData.width = originalImageDimensions.width;
130
+ uploadData.height = originalImageDimensions.height;
131
+ }
131
132
  }
132
- }
133
133
 
134
- if (mediaType === 'audio' || mediaType === 'video') {
135
- if (typeof uploadData.seconds === 'undefined') {
136
- uploadData.seconds = await (0, messages_media_1.getAudioDuration)(filePath);
134
+ if (mediaType === 'audio' || mediaType === 'video') {
135
+ if (typeof uploadData.seconds === 'undefined') {
136
+ uploadData.seconds = await (0, messages_media_1.getAudioDuration)(filePath);
137
+ }
137
138
  }
138
- }
139
139
 
140
- if (mediaType === 'audio' && uploadData.ptt === true) {
141
- uploadData.waveform = await (0, messages_media_1.getAudioWaveform)(filePath, logger);
140
+ if (mediaType === 'audio' && uploadData.ptt === true) {
141
+ uploadData.waveform = await (0, messages_media_1.getAudioWaveform)(filePath, logger);
142
+ }
143
+
144
+ } catch (err) {
145
+ logger === null || logger === void 0 ? void 0 : logger.warn({ trace: err.stack }, 'Metadata generation failed');
142
146
  }
143
- } catch (err) {
144
- logger === null || logger === void 0 ? void 0 : logger.warn({ trace: err.stack }, 'Failed to generate metadata for newsletter media');
145
- }
146
147
 
147
- const streamToUpload = (0, fs_1.createReadStream)(filePath);
148
+ const streamToUpload = (0, fs_1.createReadStream)(filePath);
148
149
 
149
- const { mediaUrl, directPath } = await options.upload(streamToUpload, {
150
- fileEncSha256B64: fileSha256B64,
151
- mediaType: mediaType,
152
- timeoutMs: options.mediaUploadTimeoutMs
153
- });
150
+ const uploaded = await options.upload(streamToUpload, {
151
+ fileEncSha256B64: fileSha256B64,
152
+ mediaType: mediaType,
153
+ timeoutMs: options.mediaUploadTimeoutMs
154
+ });
154
155
 
155
- await fs_1.promises.unlink(filePath);
156
+ await fs_1.promises.unlink(filePath);
156
157
 
157
- const obj = Types_1.WAProto.Message.fromObject({
158
- [`${mediaType}Message`]: MessageTypeProto[mediaType].fromObject({
159
- url: mediaUrl,
160
- directPath,
161
- fileSha256,
162
- fileLength,
163
- ...uploadData,
164
- media: undefined
165
- })
166
- });
158
+ const finalUrl = uploaded.mediaUrl || uploaded.url || `https://mmg.whatsapp.net${uploaded.directPath}`;
167
159
 
168
- if (uploadData.ptv) {
169
- obj.ptvMessage = obj.videoMessage;
170
- delete obj.videoMessage;
171
- }
160
+ const obj = Types_1.WAProto.Message.fromObject({
161
+ [`${mediaType}Message`]: MessageTypeProto[mediaType].fromObject({
162
+ url: finalUrl,
163
+ directPath: uploaded.directPath,
164
+ mediaKey: undefined,
165
+ fileEncSha256: undefined,
166
+ fileSha256,
167
+ fileLength,
168
+ staticUrl: uploaded.handle ? finalUrl : undefined,
169
+ ...uploadData,
170
+ media: undefined
171
+ })
172
+ });
172
173
 
173
- if (obj.stickerMessage) {
174
- obj.stickerMessage.stickerSentTs = Date.now();
175
- }
174
+ if (uploadData.ptv) {
175
+ obj.ptvMessage = obj.videoMessage;
176
+ delete obj.videoMessage;
177
+ }
176
178
 
177
- if (cacheableKey) {
178
- logger === null || logger === void 0 ? void 0 : logger.debug({ cacheableKey }, 'set cache');
179
- options.mediaCache.set(cacheableKey, Types_1.WAProto.Message.encode(obj).finish());
180
- }
179
+ if (obj.stickerMessage) {
180
+ obj.stickerMessage.stickerSentTs = Date.now();
181
+ }
181
182
 
182
- return obj;
183
- }
183
+ if (cacheableKey) {
184
+ options.mediaCache.set(cacheableKey, Types_1.WAProto.Message.encode(obj).finish());
185
+ }
186
+
187
+ return obj;
188
+ }
184
189
  const requiresDurationComputation = mediaType === 'audio' && typeof uploadData.seconds === 'undefined';
185
190
  const requiresThumbnailComputation = (mediaType === 'image' || mediaType === 'video') &&
186
191
  (typeof uploadData['jpegThumbnail'] === 'undefined');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rexxhayanasi/elaina-baileys",
3
- "version": "1.2.1-rc.2",
3
+ "version": "1.2.1-rc.3",
4
4
  "description": "Custom Baileys WhatsApp API",
5
5
  "keywords": [
6
6
  "baileys",
@@ -53,7 +53,6 @@
53
53
  "audio-decode": "^2.1.3",
54
54
  "axios": "^1.6.0",
55
55
  "chalk": "^4.1.2",
56
- "fflate": "^0.8.2",
57
56
  "gradient-string": "^2.0.2",
58
57
  "cache-manager": "^5.7.6",
59
58
  "cheerio": "^1.0.0-rc.12",