Skip to content

Auto-Delete & Pesan Sementara (Ephemeral) ​

Leaves Guardian menyediakan dua mekanisme terpisah untuk menangani pesan yang memiliki masa aktif terbatas:

  1. AutoDeleteManager: Penghapusan pesan berbasis timer di sisi server bot (client-side). Menarik/menghapus pesan untuk semua orang (Delete for Everyone) setelah jeda milidetik tertentu.
  2. EphemeralMessage: Pesan sementara berbasis protokol asli WhatsApp (native disappearing messages). Pesan kedaluwarsa secara otomatis di server WhatsApp tanpa menggunakan memori atau timer Node.js.

1. Auto-Delete Manager (AutoDeleteManager) ​

Gunakan AutoDeleteManager ketika Anda membutuhkan pesan terhapus secara otomatis dalam durasi pendek (hitungan detik atau menit), seperti kode OTP, notifikasi peringatan sementara, atau pesan konfirmasi.

Mengirim dan Menjadwalkan Otomatis: sendAndAutoDelete ​

javascript
// Kirim pesan OTP yang akan otomatis terhapus dalam 30 detik (30.000 ms)
const { message, task } = await client.sendAndAutoDelete(
  msg.chat.id,
  '🔐 Kode verifikasi Anda adalah *918234*. Pesan ini akan terhapus dalam 30 detik.',
  30000
);

console.log(`Task auto-delete terjadwal dengan ID: ${task.id}`);

Validasi Jeda Waktu (validateDelay) ​

Leaves Guardian menerapkan validasi ketat pada durasi delay:

  • Wajib Non-Negatif: Nilai delayMs >= 0 harus terpenuhi. Memberikan nilai negatif akan melempar LeavesValidationError dengan kode AUTODELETE_INVALID_DELAY.
  • Integer Milidetik: Nilai berupa bilangan bulat dalam milidetik (misal: 10000 untuk 10 detik).

Membatalkan Jadwal Penghapusan ​

Jika kondisi berubah sebelum jeda waktu habis, Anda dapat membatalkan timer:

javascript
// Pembatalan langsung via instance task
task.cancel();

// Atau pembatalan via manager berdasarkan ID task
client.autoDelete.cancel(task.id);

2. Pesan Sementara Asli WhatsApp (EphemeralMessage) ​

Gunakan EphemeralMessage untuk pesan yang ingin diatur agar hilang setelah periode hari/bulan sesuai kebijakan resmi WhatsApp tanpa membebani memori server bot Anda.

Durasi Resmi (EPHEMERAL_DURATIONS) ​

javascript
import { EphemeralMessage, EPHEMERAL_DURATIONS } from 'leaves-guardian';

console.log(EPHEMERAL_DURATIONS);
// {
//   ONE_DAY: 86400,        // 24 Jam
//   ONE_WEEK: 604800,      // 7 Hari (Default)
//   THREE_MONTHS: 7776000, // 90 Hari
//   DISABLED: 0            // Nonaktif
// }

Mengirim Pesan Ephemeral ​

javascript
import { EphemeralMessage, EPHEMERAL_DURATIONS } from 'leaves-guardian';

const ephemeral = new EphemeralMessage()
  .setContent({ text: '⏳ Pesan ini akan otomatis hilang dalam 24 jam secara native.' })
  .setExpiration(EPHEMERAL_DURATIONS.ONE_DAY);

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

Perbandingan AutoDelete vs Ephemeral ​

FiturAutoDeleteManagerEphemeralMessage
MekanismeTimer Node.js memanggil deleteMessage()Protokol server-side WhatsApp disappearing
Rentang WaktuKustom milidetik (delayMs >= 0)Durasi tetap WhatsApp (24 Jam, 7 Hari, 90 Hari)
Penggunaan Resource1 timer aktif per task0 Timer / 0 MB memori
Tampilan di WhatsAppPesan ditarik ("Pesan ini telah dihapus")Pesan memudar/hilang secara senyap

Panduan Terkait ​

Released under the MIT License.