Skip to main content

Notifikasi Bot Telegram

Notifikasi Bot Telegram — Penjelasan & Solusi
Notifikasi Bot Telegram

Penjelasan data notifikasi & cara membuat notifikasi lebih ramah

Ringkasan gabungan dari dua jawaban terakhir: arti singkatan UTC, dan makna objek event (trigger) dari Google Apps Script yang sering tampil saat bot mengirim notifikasi.

Topik 1 — Apa itu UTC?

  • UTC = Coordinated Universal Time, standar waktu global sebagai acuan internasional.
  • Sebanding dengan GMT tapi lebih presisi karena berbasis jam atom.
  • Zona waktu lokal dinyatakan relatif terhadap UTC, misal WIB = UTC+7.

Topik 2 — Event (trigger) Google Apps Script: apa yang muncul di notifikasi

Ketika script dijalankan otomatis lewat time-driven trigger, Google Apps Script menyediakan objek event (sering disingkat e) berisi detail waktu dan metadata trigger. Jika kamu mengirimkan objek ini ke Telegram tanpa pemrosesan, yang tampil adalah representasi mentah seperti contoh di notifikasi.

Contoh objek event
{authMode=FULL, hour=7.0, triggerUid=335664463120171008, minute=58.0, year=2025.0, second=24.0, week-of-year=38.0, month=9.0, day-of-month=21.0, day-of-week=7.0, timezone=UTC}

Subtopik — Penjelasan tiap field

  • authMode — tingkat izin saat script berjalan (contoh: FULL artinya akses penuh).
  • hour, minute, second, day-of-month, month, year — komponen waktu ketika trigger aktif (dalam zona waktu yang tercantum pada timezone).
  • week-of-year — nomor minggu ke berapa di tahun tersebut.
  • day-of-week — biasanya 1=Senin sampai 7=Minggu.
  • timezone — zona waktu acuan, misal UTC.
  • triggerUid — id unik trigger.

Topik 3 — Kenapa objek mentah muncul di Telegram?

  • Karena script mengirim objek e apa adanya (misal JSON.stringify(e)), sehingga semua properti tampil tanpa format.
  • Biasanya kita ingin menampilkan pesan yang lebih ramah manusia seperti tanggal dan waktu terformat, bukan seluruh objek mentah.

Topik 4 — Cara memperbaiki & contoh script

Solusi ringkas: ambil waktu dari objek event atau dari new Date(), konversi ke zona lokal (misal WIB = UTC+7), format menjadi string yang mudah dibaca, lalu kirim ke Telegram.

Contoh Google Apps Script (format ke WIB dan kirim notifikasi Telegram)

function sendTelegramFriendly(e){
  // Ambil waktu sekarang agar konsisten, atau gunakan konstruktor dari e jika perlu
  const nowUtc = new Date();
  // Konversi ke WIB (UTC+7)
  const utcMs = nowUtc.getTime();
  const offsetMs = 7 * 60 * 60 * 1000; // +7 jam
  const wib = new Date(utcMs + offsetMs);

  // Format sederhana: 21 Sep 2025 14:58 WIB
  const opts = { year:'numeric', month:'short', day:'2-digit', hour:'2-digit', minute:'2-digit', second:'2-digit', hour12:false };
  const formatted = Utilities.formatDate(wib, "GMT+7", "dd MMM yyyy HH:mm:ss 'WIB'");

  const message = `Notifikasi otomatis\nWaktu: ${formatted}\nTrigger ID: ${e && e.triggerUid ? e.triggerUid : '–'}`;

  // Kirim ke Telegram (ganti BOT_TOKEN dan CHAT_ID)
  const BOT_TOKEN = 'TOKEN_BOT';
  const CHAT_ID = 'CHAT_ID';
  const url = `https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`;
  const payload = { chat_id: CHAT_ID, text: message };

  const options = { method:'post', payload: payload };
  UrlFetchApp.fetch(url, options);
}

Catatan: jika kamu menggunakan properti waktu dari e (misal e.year, e.hour), pastikan memperlakukan nilainya sebagai angka dan gabungkan menjadi objek Date jika diperlukan.

Topik 5 — Praktik baik & keamanan

  • Jangan kirim data sensitif mentah ke chat publik; filter dan redaksi jika perlu.
  • Gunakan Utilities.formatDate untuk menghindari kebingungan zona waktu.
  • Catat triggerUid untuk debugging bila trigger ganda muncul.
Butuh versi ringkas untuk disalin ke template pesan Telegram? Klik tombol di bawah.

Comments

Popular posts from this blog

Error, Pengalihan khusus, & 404 khusus

Fitur Google Search Entities