@otaxayun/baileys
v6.7.33
Published
WhatsApp API Modification
Downloads
6,287
Maintainers
Readme
⸙ 𝙊𝙏𝘼𝙓 — 𝙎𝙔𝙎𝙏𝙀𝙈.𝘽𝘼𝙄𝙇𝙀𝙔𝙎
⸙ Deskripsi
sistem.baileys adalah modul inti OTAX yang menangani seluruh proses koneksi WhatsApp. Modul ini mengelola lifecycle WebSocket Baileys, validasi sesi, pairing, sinkronisasi event, media handler, hingga mekanisme auto-recovery. Sistem ini didesain untuk performa tinggi, reconnect cepat, dan stabilitas maksimal dalam ekosistem OTAX.
⸙ Fitur Utama
⚙️ Inisialisasi WebSocket Baileys dengan konfigurasi OTAX
🔁 Auto-reconnect dan pemulihan state ketika koneksi terputus
🧩 Integrasi penuh ke modul OTAX lain: SessionPool, SenderLock, Gateway, EventRouter
📡 Event lengkap: messages.upsert, connection.update, contacts.update, groups.update
🔒 Proteksi runtime: anti-crash, anti-tamper, auto-heal, markOnlineOnConnect control
📦 Store terintegrasi: in-memory, FS, dan adapter eksternal
🖼️ Media utility: unduh, reupload, convert, decrypt, stream
📲 Pairing mode ganda: QR dan pairing code
⸙ Alur Kerja sistem.baileys
Memuat kredensial dari OTAX_SESSION_DIR
Membuka koneksi WebSocket WhatsApp
Melakukan sinkronisasi perangkat
Mengaktifkan event handler inti
Menghubungkan store untuk riwayat dan retry
Menjalankan sistem proteksi runtime
Mengaktifkan server event internal untuk modul lain
Jika koneksi terputus, sistem menjalankan auto-recovery
⸙ Konfigurasi Sistem
Gunakan environment variable berikut:
OTAX_SESSION_DIR=./data/auth/otax OTAX_LOG_DIR=./logs OTAX_SENDER_NUMBER=6285XXXXXXXX OTAX_RUNTIME_MODE=production OTAX_USE_STORE=true
Struktur direktori yang direkomendasikan:
. ├─ system/ │ └─ baileys/ │ ├─ index.ts │ ├─ core.ts │ ├─ connect.ts │ ├─ events.ts │ └─ media.ts ├─ data/ │ └─ auth/ ├─ logs/ └─ package.json
⸙ Inisialisasi Socket
TypeScript:
import makeWASocket, { useMultiFileAuthState, Browsers, DisconnectReason } from "@whiskeysockets/baileys" import pino from "pino"
export async function initBaileys() { const { state, saveCreds } = await useMultiFileAuthState(process.env.OTAX_SESSION_DIR) const sock = makeWASocket({ auth: state, browser: Browsers.macOS("OTAX-System"), markOnlineOnConnect: false, printQRInTerminal: true, logger: pino({ level: "silent" }) })
sock.ev.on("creds.update", saveCreds)
sock.ev.on("connection.update", ({ connection, lastDisconnect }) => { const code = lastDisconnect?.error?.output?.statusCode if (connection === "close" && code !== DisconnectReason.loggedOut) initBaileys() })
return sock }
⸙ Pairing Mode
import makeWASocket from "@whiskeysockets/baileys"
export async function pairing() { const sock = makeWASocket({ printQRInTerminal: false }) if (!sock.authState.creds.registered) { const number = process.env.OTAX_SENDER_NUMBER const code = await sock.requestPairingCode(number) console.log("Pairing Code:", code) } }
⸙ Event Handler
export function attachEvents(sock) { sock.ev.on("messages.upsert", async ({ messages }) => { for (const m of messages) { const text = m.message?.conversation || m.message?.extendedTextMessage?.text || "" if (/^/ping$/i.test(text)) await sock.sendMessage(m.key.remoteJid, { text: "⸙ OTAX — pong" }) } })
sock.ev.on("groups.update", console.log) sock.ev.on("presence.update", console.log) sock.ev.on("contacts.update", console.log) }
⸙ Media Utility
import { downloadMediaMessage } from "@whiskeysockets/baileys" import { createWriteStream } from "fs"
export async function saveImage(sock, m) { const stream = await downloadMediaMessage(m, "stream", {}, { reuploadRequest: sock.updateMediaMessage }) stream.pipe(createWriteStream("./file.jpeg")) }
⸙ Mode Rekomendasi
markOnlineOnConnect: false untuk mode silent syncFullHistory: true untuk pemulihan riwayat browser: Browsers.macOS("OTAX-System") agar sinkronisasi optimal linking: pairing code untuk deploy lewat panel atau Telegram
⸙ Keamanan
Gunakan environment variable untuk semua kredensial Hindari memasukkan nomor atau token langsung ke kode Amankan folder session Gunakan log minimal untuk menghindari bocor data Aktifkan anti-tamper saat produksi
⸙ Lisensi
Berbasis pada Baileys MIT license Distribusi mengikuti standar lisensi upstream Gunakan secara bertanggung jawab sesuai kebijakan WhatsApp
⸙ Dukungan
WhatsApp Owner: wa.me/6281945938917 Telegram Team: t.me/Otapengenkawin
