swgc-zapo
v1.0.0
Published
Helper untuk kirim WhatsApp Group Story (groupStatusMessageV2) menggunakan library Zapo-js
Maintainers
Readme
swgc-zapo ⭕
Helper untuk kirim WhatsApp Group & Community Story (groupStatusMessageV2) khusus untuk library zapo-js.
Package ini memungkinkan bot WhatsApp berbasis Zapo-js untuk membuat cerita grup dengan lingkaran status (status ring) pada foto profil grup, teks "Ditambahkan oleh ~ [Author]", dan kolom balasan "Balas ke grup...".
⚠️ Catatan Penting: Package ini dirancang khusus untuk library
zapo-js. Tidak kompatibel dengan library Baileys karena menggunakan socket dispatch & media upload internal milik Zapo-js (sock.message.upload&sock.message.send).
📦 Install
npm i swgc-zapo🚀 Penggunaan
1. Status Teks (Custom Background, Font & Warna)
import { SwGc } from 'swgc-zapo';
const groupJid = '[email protected]';
// Teks biasa
await SwGc(sock, groupJid, {
text: 'Halo semua member grup!'
});
// Teks dengan warna background hex, warna teks, dan font WA
await SwGc(sock, groupJid, {
text: 'Pengumuman Penting! 🔥',
background: '#1137545e', // Format hex #RRGGBB atau #AARRGGBB
color: '#FFFFFF', // Warna teks
font: 1 // Font WhatsApp (0 - 6)
});2. Status Gambar / Foto
Mendukung Buffer, URL Gambar langsung, atau Path File Lokal:
import { SwGc } from 'swgc-zapo';
import fs from 'fs';
// 1. Menggunakan URL langsung (Otomatis di-download)
await SwGc(sock, groupJid, {
image: 'https://example.com/foto.jpg',
caption: 'Upload story dari URL 📸'
});
// 2. Menggunakan Buffer
const buffer = fs.readFileSync('./banner.jpg');
await SwGc(sock, groupJid, {
image: buffer,
caption: 'Upload story dari Buffer'
});
// 3. Menggunakan Path File Lokal
await SwGc(sock, groupJid, {
image: './assets/gambar.png',
caption: 'Upload story dari Path File'
});3. Status Video
Mendukung Buffer, URL Video langsung, atau Path File Lokal:
import { SwGc } from 'swgc-zapo';
// Menggunakan URL langsung
await SwGc(sock, groupJid, {
video: 'https://example.com/video.mp4',
caption: 'Video highlight kegiatan 🎥'
});
// Menggunakan File Path / Buffer
await SwGc(sock, groupJid, {
video: './videos/story.mp4',
caption: 'Video dari file lokal'
});4. Status Audio / Voice Note (VN)
import { SwGc } from 'swgc-zapo';
// Menggunakan File Path / URL / Buffer
await SwGc(sock, groupJid, {
audio: './audio/pesan.mp3',
ptt: true // Dikirim sebagai Voice Note
});5. Khusus Teman Dekat / Custom Audience
import { SwGc } from 'swgc-zapo';
// Status khusus Close Friends
await SwGc(sock, groupJid, {
text: 'Khusus teman dekat grup!',
background: '#1137545e',
audience: 'close_friends'
});
// Status dengan Custom List Name & Emoji
await SwGc(sock, groupJid, {
text: 'Hanya untuk panitia acara',
background: '#1137545e',
audience: {
type: 'custom',
name: 'Panitia Inti',
emoji: '🔥'
}
});🏛️ Class API
import { SwGcClass } from 'swgc-zapo';
const gs = new SwGcClass(sock);
await gs.send(groupJid, {
text: 'Halo dari Class SwGc!',
background: '#1137545e',
font: 2
});⚙️ Opsi Parameter (opts)
| Key | Type | Keterangan | Default |
| :--- | :--- | :--- | :--- |
| text | string | Isi teks status cerita | '' |
| caption | string | Caption keterangan untuk media (gambar/video) | '' |
| background / bg | string | Warna latar format Hex (#RRGGBB / #AARRGGBB) | '#1B5E20' |
| color / textColor | string | Warna teks format Hex (#RRGGBB) | '#FFFFFF' |
| font | number | Indeks font WhatsApp (0 sampai 6) | 1 |
| image | Buffer | string | Media gambar (Buffer, URL, atau File Path) | undefined |
| video | Buffer | string | Media video (Buffer, URL, atau File Path) | undefined |
| audio | Buffer | string | Media audio (Buffer, URL, atau File Path) | undefined |
| ptt | boolean | Kirim audio sebagai Voice Note (VN) | true |
| audience | string | object | 'close_friends' atau { type: 'custom', name, emoji } | undefined |
| contextInfo | object | Custom ContextInfo tambahan | {} |
💡 Tentang groupStatusMessageV2
Nama groupStatusMessageV2 adalah nama standar dari schema Protobuf Resmi WhatsApp Server. Baik WhatsApp resmi, Zapo-js, maupun Baileys menggunakan nama field yang sama di level protokol agar WhatsApp mengenali pesan tersebut sebagai Group Story dan memunculkan lingkaran status pada grup target.
👨💻 Creator
- Bhuzel Rayhan - GitHub
📄 License
MIT License © 2026 Bhuzel Rayhan
