@rennzsync/baileys 10.2.4 → 10.5.0
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.id.md +231 -66
- package/README.md +96 -29
- package/WAProto/WAProto.proto +8 -0
- package/WAProto/index.d.ts +121 -0
- package/WAProto/index.js +393 -0
- package/lib/Defaults/index.js +28 -3
- package/lib/Socket/messages-send.js +13 -1
- package/lib/Utils/a2ui.js +210 -0
- package/lib/Utils/index.js +2 -0
- package/lib/Utils/messages.js +33 -0
- package/lib/Utils/rich-menu.js +211 -0
- package/package.json +1 -1
- package/lib/Defaults/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# rennzsync/baileys
|
|
4
4
|
|
|
5
5
|
**Lightweight WhatsApp Bot library — fully rebased onto `@whiskeysockets/baileys` 7.0.0-rc14**
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/@rennzsync/baileys)
|
|
8
8
|
[](https://nodejs.org)
|
|
9
9
|
[](https://github.com/WhiskeySockets/Baileys)
|
|
10
10
|
[](LICENSE)
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
A WhatsApp Multi-Device library rebased onto Baileys v7 rc14, using the original Signal Protocol engine (`libsignal`, GPL-3.0) — the same one stock `@whiskeysockets/baileys` rc14 ships with.
|
|
17
17
|
|
|
18
|
-
> **License note:** `
|
|
18
|
+
> **License note:** `rennzsync/baileys`'s own code is MIT, but it depends on `libsignal` (GPL-3.0) at runtime for the Signal Protocol crypto. If you're publishing or redistributing this package, check what GPL-3.0 compliance means for your use case — this isn't legal advice.
|
|
19
19
|
|
|
20
20
|
Project focus: **multimedia WhatsApp bots** — audio, video, image and sticker pipelines, plus **Rich WebUI** (inline HTML interfaces rendered inside chat bubbles), with RAM-friendly defaults.
|
|
21
21
|
|
|
@@ -27,6 +27,7 @@ Project focus: **multimedia WhatsApp bots** — audio, video, image and sticker
|
|
|
27
27
|
- **Standard Signal Protocol engine** — uses `libsignal` directly, same as stock Baileys rc14; no custom native crypto to maintain.
|
|
28
28
|
- **Centralized multimedia pipeline** — `media-processor` utilities (ffmpeg/sharp/audio-decode, lazy-loaded).
|
|
29
29
|
- **Rich WebUI** — render HTML/CSS/JS interfaces directly inside chat bubbles via `sendInlineWebUI`.
|
|
30
|
+
- **Widgets & rich menus (10.5.0)** — `sock.sendA2UI` (A2UI widgets), `sock.richMenu`, and `viewOnceV2` / `viewOnceV2Extension` send options.
|
|
30
31
|
- **RAM-friendly by default** — `syncFullHistory: false`, `enableRecentMessageCache: false`, moderate cache TTLs.
|
|
31
32
|
|
|
32
33
|
---
|
|
@@ -44,7 +45,7 @@ Platform support follows whatever `libsignal` (^6.0.0) supports on your system
|
|
|
44
45
|
## Installation
|
|
45
46
|
|
|
46
47
|
```bash
|
|
47
|
-
npm install @
|
|
48
|
+
npm install @rennzsync/baileys
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
### Optional dependencies (install per feature)
|
|
@@ -62,7 +63,7 @@ npm install @renz/baileys
|
|
|
62
63
|
## Quick Start
|
|
63
64
|
|
|
64
65
|
```js
|
|
65
|
-
import makeWASocket, { useMultiFileAuthState } from '@
|
|
66
|
+
import makeWASocket, { useMultiFileAuthState } from '@rennzsync/baileys';
|
|
66
67
|
|
|
67
68
|
const { state, saveCreds } = await useMultiFileAuthState('auth_info');
|
|
68
69
|
|
|
@@ -113,7 +114,7 @@ await sock.sendMessage(jid, {
|
|
|
113
114
|
### Convert video/audio before sending (media-processor)
|
|
114
115
|
|
|
115
116
|
```js
|
|
116
|
-
import { convertToWhatsAppVideo, convertToOpusAudio, getVideoThumbnail, resizeImage } from '@
|
|
117
|
+
import { convertToWhatsAppVideo, convertToOpusAudio, getVideoThumbnail, resizeImage } from '@rennzsync/baileys';
|
|
117
118
|
|
|
118
119
|
// Any video -> WhatsApp-compatible MP4/H.264 (requires fluent-ffmpeg)
|
|
119
120
|
const mp4 = await convertToWhatsAppVideo(rawBuffer);
|
|
@@ -130,7 +131,7 @@ const small = await resizeImage(imageBuffer, { width: 300, height: 300 });
|
|
|
130
131
|
### Probe media metadata
|
|
131
132
|
|
|
132
133
|
```js
|
|
133
|
-
import { probeMedia, getMp4Duration } from '@
|
|
134
|
+
import { probeMedia, getMp4Duration } from '@rennzsync/baileys';
|
|
134
135
|
|
|
135
136
|
const meta = await probeMedia(buffer, 'audio/mpeg'); // { duration, bitrate, container, codec }
|
|
136
137
|
const dur = getMp4Duration(mp4Buffer); // no ffmpeg needed — parses atoms directly
|
|
@@ -143,7 +144,7 @@ const dur = getMp4Duration(mp4Buffer); // no ffmpeg needed — parses atoms dire
|
|
|
143
144
|
Send an HTML/CSS/JS interface that **renders directly inside the message bubble** — great for interactive menus, mini-apps and dashboards:
|
|
144
145
|
|
|
145
146
|
```js
|
|
146
|
-
import { sendInlineWebUI } from '@
|
|
147
|
+
import { sendInlineWebUI } from '@rennzsync/baileys';
|
|
147
148
|
|
|
148
149
|
const html = `<!DOCTYPE html>
|
|
149
150
|
<html><head><style>body{background:#111b21;color:#fff;font-family:sans-serif;padding:16px}</style></head>
|
|
@@ -166,32 +167,32 @@ await sendInlineWebUI(sock, jid, html, 'Bot Menu', {
|
|
|
166
167
|
|
|
167
168
|
`interactiveMessage` + `nativeFlowMessage` cards are **no longer rendered** on many WhatsApp clients — `relayMessage` succeeds without error but the message silently doesn't appear. The classic `buttonsMessage` and `listMessage` templates render reliably on **every** client (Android/iOS/Web/Desktop).
|
|
168
169
|
|
|
169
|
-
`@
|
|
170
|
+
`@rennzsync/baileys@10.5.0` ships ready-made builders in `lib/Utils/rich-classic.js`:
|
|
170
171
|
|
|
171
172
|
```js
|
|
172
|
-
import { buildButtonsMessage, buildListMessage, sendClassicMessage } from '@
|
|
173
|
+
import { buildButtonsMessage, buildListMessage, sendClassicMessage } from '@rennzsync/baileys';
|
|
173
174
|
|
|
174
175
|
// 1-3 quick-reply buttons (optionally with a location+thumbnail header)
|
|
175
176
|
const buttons = buildButtonsMessage({
|
|
176
177
|
text: 'Hello Brother — pick an option',
|
|
177
178
|
footer: '© My Bot',
|
|
178
179
|
buttons: [
|
|
179
|
-
{ buttonId: '.owner', buttonText: '
|
|
180
|
-
{ buttonId: '.allmenu', buttonText: '
|
|
180
|
+
{ buttonId: '.owner', buttonText: 'Owner' },
|
|
181
|
+
{ buttonId: '.allmenu', buttonText: 'Allmenu' },
|
|
181
182
|
],
|
|
182
183
|
locationMessage: { jpegThumbnail, name: 'My Bot', address: 'v10.0.1' },
|
|
183
184
|
});
|
|
184
185
|
|
|
185
186
|
// Scrollable list with sections and rows
|
|
186
187
|
const list = buildListMessage({
|
|
187
|
-
title: '
|
|
188
|
+
title: 'Menu — 1271 commands',
|
|
188
189
|
description: 'Pick a category',
|
|
189
|
-
buttonText: '
|
|
190
|
+
buttonText: 'Pilih Kategori',
|
|
190
191
|
sections: [{
|
|
191
192
|
title: 'Categories',
|
|
192
193
|
rows: [
|
|
193
|
-
{ title: '
|
|
194
|
-
{ title: '
|
|
194
|
+
{ title: 'main', description: '19 commands', rowId: '.menucat main' },
|
|
195
|
+
{ title: 'sticker', description: '42 commands', rowId: '.menucat sticker' },
|
|
195
196
|
],
|
|
196
197
|
}],
|
|
197
198
|
});
|
|
@@ -211,15 +212,15 @@ Also exports `normalizeUserJid(sockOrUserOrJid)` — `sock.user.jid` never exist
|
|
|
211
212
|
`lib/Utils/rich-carousel.js` adds `interactiveMessage`/`carouselMessage` builders (the horizontal-scroll card format), for cases where you specifically need carousel or richer CTA button types (`cta_url`, `cta_call`, `cta_copy`, `cta_reminder`, `single_select`) that the classic templates above don't cover. Same rendering caveat as always: prefer `rich-classic.js` unless you specifically need these.
|
|
212
213
|
|
|
213
214
|
```js
|
|
214
|
-
import { buildCarouselMessage, sendCarouselMessage, sendInteractiveMessage } from '@
|
|
215
|
+
import { buildCarouselMessage, sendCarouselMessage, sendInteractiveMessage } from '@rennzsync/baileys';
|
|
215
216
|
|
|
216
217
|
// single native-flow bubble (no carousel)
|
|
217
218
|
await sendInteractiveMessage(sock, jid, {
|
|
218
219
|
text: 'Choose an action:',
|
|
219
220
|
footer: '© My Bot',
|
|
220
221
|
buttons: [
|
|
221
|
-
{ type: 'quick_reply', displayText: '
|
|
222
|
-
{ type: 'cta_url', displayText: '
|
|
222
|
+
{ type: 'quick_reply', displayText: 'Owner', id: '.owner' },
|
|
223
|
+
{ type: 'cta_url', displayText: 'Docs', url: 'https://github.com/RennZSync/baileys' },
|
|
223
224
|
],
|
|
224
225
|
});
|
|
225
226
|
|
|
@@ -262,7 +263,7 @@ await sock.updateProfilePicture(sock.user.id, imageBuffer); // unchanged default
|
|
|
262
263
|
`lib/Store/*` ships a chat/contact/message store you can wire into `sock.ev`, plus two auth-state backends:
|
|
263
264
|
|
|
264
265
|
```js
|
|
265
|
-
import makeWASocket, { makeInMemoryStore, useSqliteAuthState, useMultiFileAuthState } from '@
|
|
266
|
+
import makeWASocket, { makeInMemoryStore, useSqliteAuthState, useMultiFileAuthState } from '@rennzsync/baileys';
|
|
266
267
|
|
|
267
268
|
const store = makeInMemoryStore({});
|
|
268
269
|
store.readFromFile('./store.json');
|
|
@@ -289,7 +290,7 @@ sock.ev.on('creds.update', saveCreds);
|
|
|
289
290
|
Send a poll where each option is an image instead of plain text (`pollCreationMessageV3` with `pollContentType: IMAGE`, one `pollCreationOptionImageMessage` per option, associated back to the parent poll via `MEDIA_POLL`):
|
|
290
291
|
|
|
291
292
|
```js
|
|
292
|
-
import { generateWAMessageFromImagePoll } from '@
|
|
293
|
+
import { generateWAMessageFromImagePoll } from '@rennzsync/baileys';
|
|
293
294
|
|
|
294
295
|
await generateWAMessageFromImagePoll(jid, {
|
|
295
296
|
name: 'Pilih gambar favorit',
|
|
@@ -305,6 +306,72 @@ await generateWAMessageFromImagePoll(jid, {
|
|
|
305
306
|
|
|
306
307
|
---
|
|
307
308
|
|
|
309
|
+
## View Once V2 / V2 Extension (new in 10.5.0)
|
|
310
|
+
|
|
311
|
+
```js
|
|
312
|
+
await sock.sendMessage(jid, { text: 'Secret message', viewOnceV2Extension: true }) // viewOnceMessageV2Extension
|
|
313
|
+
await sock.sendMessage(jid, { text: 'Secret message', viewOnceV2: true }) // viewOnceMessageV2
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Wraps the message in `viewOnceMessageV2Extension` / `viewOnceMessageV2`; for text, `viewOnce: true` is set on the inner `extendedTextMessage`.
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Rich Menu (new in 10.5.0, risk-aware)
|
|
321
|
+
|
|
322
|
+
Port of `richMenu` from `@vansnowi/baileys` (also exported as `buildRichMenuMessage` / `sendRichMenu` from `lib/Utils/rich-menu.js`). Buttons are CTA widgets with a toast, not quick-replies that send a message back. Uses the internal GenAI `unifiedResponse` format, so it may not render on every WhatsApp client.
|
|
323
|
+
|
|
324
|
+
```js
|
|
325
|
+
// tombol
|
|
326
|
+
await sock.richMenu(jid, {
|
|
327
|
+
header: { title: 'Main Menu', image: { url: 'https://example.com/banner.png' } },
|
|
328
|
+
body: { title: 'Pick one', buttons: ['Profile', 'Settings', 'Help'], toast: 'opening...' },
|
|
329
|
+
footer: { text: 'Join us', url: 't.me/example' }
|
|
330
|
+
})
|
|
331
|
+
|
|
332
|
+
// kartu geser (carousel: true) / baris (row: true)
|
|
333
|
+
await sock.richMenu(jid, {
|
|
334
|
+
body: {
|
|
335
|
+
carousel: true,
|
|
336
|
+
cards: [
|
|
337
|
+
{ title: 'Card 1', buttons: ['A', 'B'], toast: '...' },
|
|
338
|
+
{ title: 'Card 2', buttons: ['C', 'D'], toast: '...' }
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
})
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
`footer.url` is required for the open-URL button (no default link).
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## A2UI Widget (new in 10.5.0, risk-aware)
|
|
349
|
+
|
|
350
|
+
Declarative widgets (`Text`, `Image`, `Video`, `Button`, `Card`, `Column`, `Row`, `Divider`, `CheckBox`, `TextField`, `ChoicePicker`, plus `listCard`) sent as `interactiveMessage.bloksWidget`. Also exported as `A2UI` / `sendA2UIWidget` from `lib/Utils/a2ui.js`. The proto now includes `InteractiveMessage.BloksWidget` (field 8). Internal WhatsApp format, so it may not render on every client.
|
|
351
|
+
|
|
352
|
+
```js
|
|
353
|
+
import { A2UI } from '@rennzsync/baileys'
|
|
354
|
+
|
|
355
|
+
const ui = new A2UI()
|
|
356
|
+
const title = ui.text('Halo!', { variant: 'h1' })
|
|
357
|
+
const label = ui.text('Klik saya')
|
|
358
|
+
const btn = ui.button(label, { action: { name: 'noop' } })
|
|
359
|
+
ui.root([ui.card(ui.column([title, btn]))])
|
|
360
|
+
|
|
361
|
+
await sock.sendA2UI(jid, { a2ui: ui, bodyText: 'Widget', footer: 'A2UI' })
|
|
362
|
+
|
|
363
|
+
// list card
|
|
364
|
+
const list = new A2UI().listCard({
|
|
365
|
+
title: 'Menu',
|
|
366
|
+
items: [{ title: 'Nasi Goreng', price: 'Rp15.000' }, { title: 'Es Teh', price: 'Rp5.000' }]
|
|
367
|
+
})
|
|
368
|
+
await sock.sendA2UI(jid, { a2ui: list, bodyText: 'Pesan menu' })
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
Options: `singleScreen`, `buttons` (native flow `{ name, params }`), `expiration`, `contextInfo`, `quoted`, `wrapped`, `type`.
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
308
375
|
## Default Configuration (RAM-friendly)
|
|
309
376
|
|
|
310
377
|
```js
|
|
@@ -318,9 +385,9 @@ const sock = makeWASocket({
|
|
|
318
385
|
|
|
319
386
|
---
|
|
320
387
|
|
|
321
|
-
## Breaking Changes from 9.x (legacy
|
|
388
|
+
## Breaking Changes from 9.x (legacy renzsync-baileys)
|
|
322
389
|
|
|
323
|
-
- Base rebased to Baileys **7.0.0-rc14**
|
|
390
|
+
- Base rebased to Baileys **7.0.0-rc14**
|
|
324
391
|
- Removed modules: `lib/VoIP/*` (WebRTC call client), `Modded/message_builder.js`, `Utils/rich-messages.js`, `Socket/dugong.js`, `Utils/sticker-pack.js`.
|
|
325
392
|
- `rejectCall` remains available (core `messages-recv`).
|
|
326
393
|
- Replacement for the old rich messages: `rich-webui.js` (`sendInlineWebUI`, `buildWebuiMessage`).
|
|
@@ -329,17 +396,18 @@ const sock = makeWASocket({
|
|
|
329
396
|
- **10.0.3:** added `rich-carousel.js` (`buildCarouselMessage`, `buildInteractiveMessage`, `buildInteractiveCard`, `buildNativeFlowButton`, `sendCarouselMessage`, `sendInteractiveMessage`) for carousel cards and richer native-flow CTA buttons (`cta_url`/`cta_call`/`cta_copy`/`cta_reminder`/`single_select`). Also extended `generateProfilePicture` (and `updateProfilePicture` / `newsletterUpdatePicture`) with a `{ full: true }` option to upload profile pictures at source resolution/high quality instead of the forced 640×640 quality-50 downscale.
|
|
330
397
|
- **10.1.0:** merged in `lib/Store/*` (in-memory store, cache-manager store, keyed-db/ordered-dictionary/object-repository) from `@vansnowi/baileys`, plus `useSqliteAuthState` (Node 22.5+ built-in `node:sqlite`, with a clear fallback error on older Node) and `isSecret`/`protected`/`me`-only send filters wired into `sock.sendMessage`.
|
|
331
398
|
- **10.2.0:** added `generateWAMessageFromImagePoll` / `hashImagePollOption` — client-side builder for WhatsApp's image-poll message type (`pollCreationMessageV3` + `pollCreationOptionImageMessage`, `MEDIA_POLL` association). Experimental — no upstream Baileys fork ships this.
|
|
399
|
+
- **10.5.0:** added `viewOnceV2` / `viewOnceV2Extension` send options (wrap the message in `viewOnceMessageV2` / `viewOnceMessageV2Extension`; text gets `viewOnce: true` inside `extendedTextMessage`); `sock.richMenu` (`rich-menu.js`: `buildRichMenuMessage`, `sendRichMenu` — buttons, carousel/row cards, image header, open-URL footer) ported from `@vansnowi/baileys` without its hardcoded default footer link; A2UI widgets (`a2ui.js`: `A2UI`, `sendA2UIWidget`, `sock.sendA2UI`) sent via `interactiveMessage.bloksWidget`, with `InteractiveMessage.BloksWidget` (field 8) added to WAProto (`WAProto.proto`, `index.js`, `index.d.ts`). `richMenu` and A2UI use internal WhatsApp formats and may not render on every client.
|
|
332
400
|
- Default config changed: `syncFullHistory` and `enableRecentMessageCache` are now `false`.
|
|
333
401
|
- `protobufjs-cli` pinned to `^1.1.3` (peer dependency conflict fix); `link-preview-js` to `^5.0.0` (SSRF advisory fix).
|
|
334
|
-
- **Rebrand:** package renamed to `@
|
|
335
|
-
- **Signal engine reverted to stock:** dropped the custom `@
|
|
402
|
+
- **Rebrand:** package renamed to `@rennzsync/baileys`, now maintained by [RennZz-Dev](https://github.com/RennZSync). No API changes — update your imports from `onigis` to `@rennzsync/baileys`.
|
|
403
|
+
- **Signal engine reverted to stock:** dropped the custom `@rennzsync/signal`/`@rennzsync/curve25519` (MIT, native Rust) engine and went back to the original `libsignal` (GPL-3.0) used by stock Baileys rc14 — same Signal Protocol implementation, no more custom native binaries to build/ship. See the license note near the top of this file.
|
|
336
404
|
|
|
337
405
|
---
|
|
338
406
|
|
|
339
407
|
## Testing
|
|
340
408
|
|
|
341
409
|
```bash
|
|
342
|
-
npm test
|
|
410
|
+
npm test
|
|
343
411
|
```
|
|
344
412
|
|
|
345
413
|
Includes unit tests for: JID utils (PN/LID/hosted), Rich WebUI (build + proto encode/decode roundtrip).
|
|
@@ -348,12 +416,11 @@ Includes unit tests for: JID utils (PN/LID/hosted), Rich WebUI (build + proto en
|
|
|
348
416
|
|
|
349
417
|
## Credits
|
|
350
418
|
|
|
351
|
-
- **[RennZz-Dev](https://github.com/RennZSync)** — `
|
|
352
|
-
- **[KzorArsuy](https://github.com/rozzak2009)** — audit, rc14 rebase, optimization, multimedia & WebUI
|
|
419
|
+
- **[RennZz-Dev](https://github.com/RennZSync)** — `rennzsync/baileys` maintainer: rebrand, ongoing upkeep & bot-focused tweaks
|
|
353
420
|
- **[WhiskeySockets/Baileys](https://github.com/WhiskeySockets/Baileys)** — upstream library & original Signal Protocol wrapper (`libsignal`-based)
|
|
354
421
|
|
|
355
422
|
---
|
|
356
423
|
|
|
357
424
|
## License
|
|
358
425
|
|
|
359
|
-
**MIT** for `
|
|
426
|
+
**MIT** for `rennzsync/baileys`'s own code — but it depends on `libsignal` (GPL-3.0) at runtime for Signal Protocol crypto. Check what that means for your use case before redistributing.
|
package/WAProto/WAProto.proto
CHANGED
|
@@ -2676,6 +2676,7 @@ message Message {
|
|
|
2676
2676
|
optional Header header = 1;
|
|
2677
2677
|
optional Body body = 2;
|
|
2678
2678
|
optional Footer footer = 3;
|
|
2679
|
+
optional BloksWidget bloksWidget = 8;
|
|
2679
2680
|
optional ContextInfo contextInfo = 15;
|
|
2680
2681
|
optional UrlTrackingMap urlTrackingMap = 16;
|
|
2681
2682
|
oneof interactiveMessage {
|
|
@@ -2684,6 +2685,13 @@ message Message {
|
|
|
2684
2685
|
Message.InteractiveMessage.NativeFlowMessage nativeFlowMessage = 6;
|
|
2685
2686
|
Message.InteractiveMessage.CarouselMessage carouselMessage = 7;
|
|
2686
2687
|
}
|
|
2688
|
+
message BloksWidget {
|
|
2689
|
+
optional string uuid = 1;
|
|
2690
|
+
optional string data = 2;
|
|
2691
|
+
optional string type = 3;
|
|
2692
|
+
optional string fallback = 4;
|
|
2693
|
+
}
|
|
2694
|
+
|
|
2687
2695
|
message Body {
|
|
2688
2696
|
optional string text = 1;
|
|
2689
2697
|
}
|
package/WAProto/index.d.ts
CHANGED
|
@@ -29225,6 +29225,9 @@ export namespace proto {
|
|
|
29225
29225
|
/** InteractiveMessage footer */
|
|
29226
29226
|
footer?: (proto.Message.InteractiveMessage.IFooter|null);
|
|
29227
29227
|
|
|
29228
|
+
/** InteractiveMessage bloksWidget */
|
|
29229
|
+
bloksWidget?: (proto.Message.InteractiveMessage.IBloksWidget|null);
|
|
29230
|
+
|
|
29228
29231
|
/** InteractiveMessage contextInfo */
|
|
29229
29232
|
contextInfo?: (proto.IContextInfo|null);
|
|
29230
29233
|
|
|
@@ -29262,6 +29265,9 @@ export namespace proto {
|
|
|
29262
29265
|
/** InteractiveMessage footer. */
|
|
29263
29266
|
public footer?: (proto.Message.InteractiveMessage.IFooter|null);
|
|
29264
29267
|
|
|
29268
|
+
/** InteractiveMessage bloksWidget. */
|
|
29269
|
+
public bloksWidget?: (proto.Message.InteractiveMessage.IBloksWidget|null);
|
|
29270
|
+
|
|
29265
29271
|
/** InteractiveMessage contextInfo. */
|
|
29266
29272
|
public contextInfo?: (proto.IContextInfo|null);
|
|
29267
29273
|
|
|
@@ -29363,6 +29369,121 @@ export namespace proto {
|
|
|
29363
29369
|
|
|
29364
29370
|
namespace InteractiveMessage {
|
|
29365
29371
|
|
|
29372
|
+
/** Properties of a BloksWidget. */
|
|
29373
|
+
interface IBloksWidget {
|
|
29374
|
+
|
|
29375
|
+
/** BloksWidget uuid */
|
|
29376
|
+
uuid?: (string|null);
|
|
29377
|
+
|
|
29378
|
+
/** BloksWidget data */
|
|
29379
|
+
data?: (string|null);
|
|
29380
|
+
|
|
29381
|
+
/** BloksWidget type */
|
|
29382
|
+
type?: (string|null);
|
|
29383
|
+
|
|
29384
|
+
/** BloksWidget fallback */
|
|
29385
|
+
fallback?: (string|null);
|
|
29386
|
+
}
|
|
29387
|
+
|
|
29388
|
+
/** Represents a BloksWidget. */
|
|
29389
|
+
class BloksWidget implements IBloksWidget {
|
|
29390
|
+
|
|
29391
|
+
/**
|
|
29392
|
+
* Constructs a new BloksWidget.
|
|
29393
|
+
* @param [properties] Properties to set
|
|
29394
|
+
*/
|
|
29395
|
+
constructor(properties?: proto.Message.InteractiveMessage.IBloksWidget);
|
|
29396
|
+
|
|
29397
|
+
/** BloksWidget uuid. */
|
|
29398
|
+
public uuid?: (string|null);
|
|
29399
|
+
|
|
29400
|
+
/** BloksWidget data. */
|
|
29401
|
+
public data?: (string|null);
|
|
29402
|
+
|
|
29403
|
+
/** BloksWidget type. */
|
|
29404
|
+
public type?: (string|null);
|
|
29405
|
+
|
|
29406
|
+
/** BloksWidget fallback. */
|
|
29407
|
+
public fallback?: (string|null);
|
|
29408
|
+
|
|
29409
|
+
/**
|
|
29410
|
+
* Creates a new BloksWidget instance using the specified properties.
|
|
29411
|
+
* @param [properties] Properties to set
|
|
29412
|
+
* @returns BloksWidget instance
|
|
29413
|
+
*/
|
|
29414
|
+
public static create(properties?: proto.Message.InteractiveMessage.IBloksWidget): proto.Message.InteractiveMessage.BloksWidget;
|
|
29415
|
+
|
|
29416
|
+
/**
|
|
29417
|
+
* Encodes the specified BloksWidget message. Does not implicitly {@link proto.Message.InteractiveMessage.BloksWidget.verify|verify} messages.
|
|
29418
|
+
* @param message BloksWidget message or plain object to encode
|
|
29419
|
+
* @param [writer] Writer to encode to
|
|
29420
|
+
* @returns Writer
|
|
29421
|
+
*/
|
|
29422
|
+
public static encode(message: proto.Message.InteractiveMessage.IBloksWidget, writer?: $protobuf.Writer): $protobuf.Writer;
|
|
29423
|
+
|
|
29424
|
+
/**
|
|
29425
|
+
* Encodes the specified BloksWidget message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.BloksWidget.verify|verify} messages.
|
|
29426
|
+
* @param message BloksWidget message or plain object to encode
|
|
29427
|
+
* @param [writer] Writer to encode to
|
|
29428
|
+
* @returns Writer
|
|
29429
|
+
*/
|
|
29430
|
+
public static encodeDelimited(message: proto.Message.InteractiveMessage.IBloksWidget, writer?: $protobuf.Writer): $protobuf.Writer;
|
|
29431
|
+
|
|
29432
|
+
/**
|
|
29433
|
+
* Decodes a BloksWidget message from the specified reader or buffer.
|
|
29434
|
+
* @param reader Reader or buffer to decode from
|
|
29435
|
+
* @param [length] Message length if known beforehand
|
|
29436
|
+
* @returns BloksWidget
|
|
29437
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
29438
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
29439
|
+
*/
|
|
29440
|
+
public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): proto.Message.InteractiveMessage.BloksWidget;
|
|
29441
|
+
|
|
29442
|
+
/**
|
|
29443
|
+
* Decodes a BloksWidget message from the specified reader or buffer, length delimited.
|
|
29444
|
+
* @param reader Reader or buffer to decode from
|
|
29445
|
+
* @returns BloksWidget
|
|
29446
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
29447
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
29448
|
+
*/
|
|
29449
|
+
public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): proto.Message.InteractiveMessage.BloksWidget;
|
|
29450
|
+
|
|
29451
|
+
/**
|
|
29452
|
+
* Verifies a BloksWidget message.
|
|
29453
|
+
* @param message Plain object to verify
|
|
29454
|
+
* @returns `null` if valid, otherwise the reason why it is not
|
|
29455
|
+
*/
|
|
29456
|
+
public static verify(message: { [k: string]: any }): (string|null);
|
|
29457
|
+
|
|
29458
|
+
/**
|
|
29459
|
+
* Creates a BloksWidget message from a plain object. Also converts values to their respective internal types.
|
|
29460
|
+
* @param object Plain object
|
|
29461
|
+
* @returns BloksWidget
|
|
29462
|
+
*/
|
|
29463
|
+
public static fromObject(object: { [k: string]: any }): proto.Message.InteractiveMessage.BloksWidget;
|
|
29464
|
+
|
|
29465
|
+
/**
|
|
29466
|
+
* Creates a plain object from a BloksWidget message. Also converts values to other types if specified.
|
|
29467
|
+
* @param message BloksWidget
|
|
29468
|
+
* @param [options] Conversion options
|
|
29469
|
+
* @returns Plain object
|
|
29470
|
+
*/
|
|
29471
|
+
public static toObject(message: proto.Message.InteractiveMessage.BloksWidget, options?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
29472
|
+
|
|
29473
|
+
/**
|
|
29474
|
+
* Converts this BloksWidget to JSON.
|
|
29475
|
+
* @returns JSON object
|
|
29476
|
+
*/
|
|
29477
|
+
public toJSON(): { [k: string]: any };
|
|
29478
|
+
|
|
29479
|
+
/**
|
|
29480
|
+
* Gets the default type url for BloksWidget
|
|
29481
|
+
* @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
|
29482
|
+
* @returns The default type url
|
|
29483
|
+
*/
|
|
29484
|
+
public static getTypeUrl(typeUrlPrefix?: string): string;
|
|
29485
|
+
}
|
|
29486
|
+
|
|
29366
29487
|
/** Properties of a Body. */
|
|
29367
29488
|
interface IBody {
|
|
29368
29489
|
|