@zervonex/baileys 3.0.1 → 3.0.2
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/README.md +3205 -3203
- package/WAProto/fetcher.js +1 -1
- package/WAProto/index.js +87 -87
- package/lib/Builders/AIRich.js +642 -589
- package/lib/Builders/builders.js +5 -4
- package/lib/Defaults/index.js +1 -1
- package/lib/Socket/index.js +14 -14
- package/lib/Socket/messages-recv.js +980 -903
- package/lib/Socket/messages-send.js +707 -692
- package/lib/Socket/newsletter.js +780 -751
- package/lib/Socket/socket.js +0 -1
- package/lib/Socket/{nexus-handler.js → zervonex-handler.js} +54 -54
- package/lib/Utils/chat-utils.js +1 -0
- package/lib/Utils/index.js +38 -39
- package/lib/Utils/messages.js +30 -20
- package/lib/Utils/spam-report-utils.js +134 -141
- package/lib/Utils/tc-token-utils.js +125 -73
- package/lib/index.js +51 -52
- package/package.json +10 -6
- package/lib/Utils/key-store.js +0 -3
package/lib/Builders/builders.js
CHANGED
|
@@ -250,7 +250,7 @@ export class Order extends BaseBuilder {
|
|
|
250
250
|
}
|
|
251
251
|
const cleanJid = id => { if (!id) return null; const [user] = id.split(':'); return user.includes('@') ? user : `${user}@s.whatsapp.net` }
|
|
252
252
|
const seller = cleanJid(o.sellerJid) ?? cleanJid(userJid) ?? cleanJid(jid) ?? '0@s.whatsapp.net'
|
|
253
|
-
const msg = await generateWAMessageFromContent(jid, { orderMessage: proto.Message.OrderMessage.create({ orderId: o.orderId ?? `
|
|
253
|
+
const msg = await generateWAMessageFromContent(jid, { orderMessage: proto.Message.OrderMessage.create({ orderId: o.orderId ?? `zervonex${Date.now()}`, thumbnail: thumb, itemCount: o.itemCount ?? 0, status: 2, surface: 1, message: o.message, orderTitle: o.orderTitle, sellerJid: seller, token: o.token ?? 'zervonex_TOKEN', totalAmount1000: o.totalAmount1000 ?? 0, totalCurrencyCode: o.totalCurrencyCode ?? 'NGN', messageVersion: 2 }) }, { userJid, quoted: opts.quoted })
|
|
254
254
|
await this.client.relayMessage(jid, msg.message, { messageId: msg.key.id })
|
|
255
255
|
return msg
|
|
256
256
|
}
|
|
@@ -276,7 +276,7 @@ export class Event extends BaseBuilder {
|
|
|
276
276
|
async send(jid, opts = {}) {
|
|
277
277
|
const e = this.data
|
|
278
278
|
const parseTime = (val, def) => typeof val === 'string' ? parseInt(val) : (val ?? def)
|
|
279
|
-
const msg = await generateWAMessageFromContent(jid, { messageContextInfo: proto.MessageContextInfo.create({ deviceListMetadata: {}, deviceListMetadataVersion: 2, messageSecret: crypto.randomBytes(32), supportPayload: JSON.stringify({ version: 2, is_ai_message: true, should_show_system_message: true, ticket_id: crypto.randomBytes(16).toString('hex') }) }), eventMessage: proto.Message.EventMessage.create({ contextInfo: proto.ContextInfo.create({ mentionedJid: [jid], participant: jid, remoteJid: 'status@broadcast', forwardedNewsletterMessageInfo: proto.ContextInfo.ForwardedNewsletterMessageInfo.create({ newsletterName: '
|
|
279
|
+
const msg = await generateWAMessageFromContent(jid, { messageContextInfo: proto.MessageContextInfo.create({ deviceListMetadata: {}, deviceListMetadataVersion: 2, messageSecret: crypto.randomBytes(32), supportPayload: JSON.stringify({ version: 2, is_ai_message: true, should_show_system_message: true, ticket_id: crypto.randomBytes(16).toString('hex') }) }), eventMessage: proto.Message.EventMessage.create({ contextInfo: proto.ContextInfo.create({ mentionedJid: [jid], participant: jid, remoteJid: 'status@broadcast', forwardedNewsletterMessageInfo: proto.ContextInfo.ForwardedNewsletterMessageInfo.create({ newsletterName: 'zervonex Events', newsletterJid: '120363422827915475@newsletter', serverMessageId: 1 }) }), isCanceled: e.isCanceled ?? false, name: e.name, description: e.description, location: e.location ?? { degreesLatitude: 0, degreesLongitude: 0, name: 'Location' }, joinLink: e.joinLink ?? '', startTime: parseTime(e.startTime, Date.now()), endTime: parseTime(e.endTime, Date.now() + 3600000), extraGuestsAllowed: e.extraGuestsAllowed !== false, ...(e.hasReminder ? { hasReminder: true, reminderOffsetSec: e.reminderOffsetSec ?? 3600 } : {}), ...(e.isScheduleCall !== undefined ? { isScheduleCall: e.isScheduleCall } : {}) }) }, { userJid: this.client.user?.id, quoted: opts.quoted })
|
|
280
280
|
await this.client.relayMessage(jid, msg.message, { messageId: msg.key.id })
|
|
281
281
|
return msg
|
|
282
282
|
}
|
|
@@ -428,13 +428,14 @@ export class A2UI extends BaseBuilder {
|
|
|
428
428
|
{ id: 'headerCommand', component: 'Text', text: 'Command', variant: 'h5' },
|
|
429
429
|
{ id: 'headerFunction', component: 'Text', text: 'Function', variant: 'h5' },
|
|
430
430
|
...rows.flatMap((r, i) => [{ id: `divider_${i}`, component: 'Divider' }, { id: `row_${i}`, component: 'Row', children: [`command_${i}`, `description_${i}`] }, { id: `command_${i}`, component: 'Text', text: r.title }, { id: `description_${i}`, component: 'Text', text: r.description }]),
|
|
431
|
-
{ id: 'footer', component: 'Text', text: d.footer ?? 'Powered by
|
|
431
|
+
{ id: 'footer', component: 'Text', text: d.footer ?? 'Powered by zervonex', variant: 'caption' }
|
|
432
432
|
]
|
|
433
433
|
if (buttons.length) {
|
|
434
434
|
components.push({ id: 'buttonRow', component: 'Row', justify: 'spaceEvenly', children: buttons.flatMap((b, i) => [`buttonLabel_${i}`, `button_${i}`]) })
|
|
435
435
|
buttons.forEach((b, i) => { components.push({ id: `buttonLabel_${i}`, component: 'Text', text: b.label }); components.push({ id: `button_${i}`, component: 'Button', child: `buttonLabel_${i}`, variant: 'primary', action: { call: 'openUrl', args: { url: b.url } } }) })
|
|
436
436
|
}
|
|
437
|
-
|
|
437
|
+
const surfaceId = `zervonex-a2ui-${crypto.randomUUID()}`
|
|
438
|
+
content = { interactiveMessage: { ...(d.imageMessage ? { header: { imageMessage: d.imageMessage, hasMediaAttachment: true } } : {}), bloksWidget: { type: 'im_a2ui', data: JSON.stringify([{ version: 'v0.9.1', createSurface: { surfaceId, root: 'root', catalogId: 'https://a2ui.org/specification/v0_9_1/catalogs/basic/catalog.json' } }, { version: 'v0.9.1', updateComponents: { surfaceId, components } }, { version: 'v0.9.1', updateDataModel: { surfaceId, value: { title: String(d.title ?? 'Menu'), footer: d.footer ?? 'Powered by zervonex', rows } } }]), fallback: String(d.fallback ?? d.title ?? '') }, nativeFlowMessage: { messageParamsJson: JSON.stringify({ limited_time_offer: { text: String(d.title ?? ''), url: buttons[0]?.url ?? '', copy_code: String(d.title ?? ''), expiration_time: Date.now() * 1000 } }), buttons: [{ name: 'single_select', buttonParamsJson: JSON.stringify({ title: String(d.title ?? ''), sections: [{ title: 'Available Commands', rows }] }) }] } } }
|
|
438
439
|
} else {
|
|
439
440
|
// generic A2UI envelope
|
|
440
441
|
const { imageMessage, bloksWidget = {}, nativeFlowMessage, fallback = '', ...rest } = d
|
package/lib/Defaults/index.js
CHANGED
|
@@ -222,4 +222,4 @@ export const TimeMs = {
|
|
|
222
222
|
Day: 24 * 60 * 60 * 1000,
|
|
223
223
|
Week: 7 * 24 * 60 * 60 * 1000
|
|
224
224
|
};
|
|
225
|
-
export const BOT_RENDERING_CONFIG_METADATA = { bloksVersioningId: '
|
|
225
|
+
export const BOT_RENDERING_CONFIG_METADATA = { bloksVersioningId: '6e955f4ffe31e9c45cd7702090f9b02107f6ef04bbbae6062a2d9c9b99e03f05', pixelDensity: 2.75 }
|
package/lib/Socket/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { DEFAULT_CONNECTION_CONFIG } from '../Defaults/index.js'
|
|
2
|
-
import { makeMessageBuilderSocket } from './
|
|
3
|
-
|
|
4
|
-
const makeWASocket = (config) => {
|
|
5
|
-
const newConfig = { ...DEFAULT_CONNECTION_CONFIG, ...config }
|
|
6
|
-
if (config.shouldSyncHistoryMessage === undefined) {
|
|
7
|
-
newConfig.shouldSyncHistoryMessage = () => !!newConfig.syncFullHistory
|
|
8
|
-
}
|
|
9
|
-
return makeMessageBuilderSocket(newConfig)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export * from './chats.js'
|
|
13
|
-
export * from './
|
|
14
|
-
export { makeWASocket }
|
|
1
|
+
import { DEFAULT_CONNECTION_CONFIG } from '../Defaults/index.js'
|
|
2
|
+
import { makeMessageBuilderSocket } from './zervonex-handler.js'
|
|
3
|
+
|
|
4
|
+
const makeWASocket = (config) => {
|
|
5
|
+
const newConfig = { ...DEFAULT_CONNECTION_CONFIG, ...config }
|
|
6
|
+
if (config.shouldSyncHistoryMessage === undefined) {
|
|
7
|
+
newConfig.shouldSyncHistoryMessage = () => !!newConfig.syncFullHistory
|
|
8
|
+
}
|
|
9
|
+
return makeMessageBuilderSocket(newConfig)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export * from './chats.js'
|
|
13
|
+
export * from './zervonex-handler.js'
|
|
14
|
+
export { makeWASocket }
|
|
15
15
|
export default makeWASocket
|