Skip to content

Panduan 12 Message Builders

Leaves Guardian menyediakan 12 Message Builders terpadu (Layer 5) untuk mempermudah pembuatan pesan WhatsApp yang kaya, interaktif, dan terstruktur dengan sintaks yang rapi (fluent chainable API).

Seluruh builder mewarisi method dasar dari BaseBuilder, sehingga secara otomatis mendukung fitur string templating , external ad reply, forwarding saluran (channel), mention pengguna, dan kutipan pesan (quote).


Ringkasan 12 Builders

Class BuilderTipe PesanKemampuan Utama
TextMessageTeks TerformatMendukung format markdown, ad-reply, mention, dan penonaktifan link preview.
ButtonMessageTombol InteraktifTombol quick reply, CTA tautan web, CTA salin teks/kupon, dan CTA panggilan telepon.
ListMessageMenu List PilihanMenu pop-up vertikal bertingkat dengan section dan row.
CarouselMessageCarousel KartuKartu geser horizontal dengan gambar dan tombol interaktif per kartu.
MediaMessageMedia TerpaduSatu class untuk Gambar, Video/GIF, Dokumen, Audio/Voice Note (PTT), dan Stiker.
StickerMessageStiker WebPPembuatan stiker dengan metadata EXIF kustom (nama pack & author).
ProductMessageKartu ProdukKartu katalog produk dengan gambar, deskripsi, harga mata uang, dan ID SKU.
PollMessagePolling & VotingPolling interaktif single-choice atau multi-choice (2 hingga 12 opsi).
AIRichMessageRespons AI TerstrukturFormat kaya untuk respons AI (blok kode, sitasi sumber, dan badge status).
CanvasMessageCanvas / Mini AppPembuat payload HTML canvas interaktif dengan whitelist domain.
EventMessageAcara KalenderUndangan acara resmi WhatsApp Group Event dengan waktu mulai/selesai & link call.
RichMessageFlex Card VisualKartu visual dengan header, badge status, dan tombol aksi.

Method Bersama (BaseBuilder)

Setiap builder memiliki method bawaan berikut:

javascript
builder
  .setTitle('Judul Pesan')
  .setBody('Halo {{nama}}, pesanan #{{orderId}} Anda sudah diproses!')
  .setFooter('Leaves Guardian Store')
  .setVars({ nama: 'Rafa', orderId: '84920' })
  .mention(['628123456789@s.whatsapp.net'])
  .setAdReply({
    title: 'Leaves Guardian Docs',
    body: 'Enterprise Baileys Wrapper'
  });

Contoh Penggunaan Praktis

1. Tombol Interaktif (ButtonMessage)

javascript
import { ButtonMessage } from 'leaves-guardian';

const button = new ButtonMessage(client)
  .setTitle('Konfirmasi Pesanan')
  .setBody('Apakah Anda ingin memproses pembayaran sekarang?')
  .setFooter('Leaves Store')
  .addReply('✅ Bayar Sekarang', 'btn_pay')
  .addCopy('📋 Salin Kode Promo', 'DISKON20')
  .addUrl('🌐 Buka Toko', 'https://example.com/store');

await client.sendMessage(msg.chat.id, button);

2. Menu Pilihan List (ListMessage)

javascript
import { ListMessage } from 'leaves-guardian';

const list = new ListMessage(client)
  .setTitle('Daftar Layanan')
  .setBody('Silakan pilih salah satu layanan kami:')
  .setButtonText('Lihat Menu')
  .addSection('Layanan Teknis', [
    { id: 'srv_bot', title: 'Pembuatan Bot WhatsApp', description: 'Integrasi kustom 24/7' },
    { id: 'srv_cloud', title: 'Cloud Hosting Server', description: 'Server VPS performa tinggi' }
  ]);

await client.sendMessage(msg.chat.id, list);

3. Polling Interaktif (PollMessage)

javascript
import { PollMessage } from 'leaves-guardian';

const poll = new PollMessage(client)
  .setQuestion('Apa topik diskusi mingguan berikutnya?')
  .addOption('🚀 Optimasi Media Pipeline')
  .addOption('🛡️ Keamanan Memori & Watchdog')
  .addOption('📊 Egress Traffic Scheduling')
  .allowMultipleAnswers(false);

await client.sendMessage(msg.chat.id, poll);

Panduan Terkait

Released under the MIT License.