
Membuat notifikasi terjadwal dengan Telegram bot.
Sudah baca artikel mengenai Telegram bot sebagai asisten digital?
Pada artikel tersebut sudah saya jelaskan secara singkat mengenai fungsi dari bot telegram di era digital ini, salah satunya adalah: push notification yang akan kita bahas sekarang.
Push notification adalah mengirimkan notifikasi secara otomatis. Kita akan mencoba untuk membuat kustom notifikasi terjadwal menggunakan Telegram bot.
Untuk mengikuti tutorial ini pastinya anda sudah mempunyai bot Telegram ya. Jika belum punya silahkan baca:
Chapter I : Cara Membuat Bot Telegram dari Dasar
Sebelum memulai, berikut ini beberapa hal yang harus dipersiapkan atau (yang saya gunakan) :
- Bot Telegram
- Sistem operasi Linux
- Web Server / Hosting
- Koneksi Internet
- Sedikit basic pemrograman
Oiya, satu lagi yang penting yaitu tujuan notifikasi. Maksudnya jenis notifikasi apa yang akan kita kirimkan kepada user?
Untuk panduan ini, kita akan coba membuat notifikasi terjadwal yang berisi laporan penjualan harian seperti yang pernah kita bahas pada artikel: Auto Posting Laporan dengan Telegram bot.
. . . Langsung saja pada intinya!
#1 Menetapkan Tujuan Notifikasi
Kita akan mengirimkan data laporan penjualan harian yang sudah terinput pada database. Isinya yaitu seperti ini:

Pada tabel di atas, kita akan ambil semua informasi diantaranya:
- id laporan
- tanggal
- nama
- penjualan
Saya tekankan lagi, sebelum melanjutkan panduan ini silahkan anda baca terlebih dahulu panduan sebelumnya pada #Chapter-II biar gak setengah-setengah.
Jika sudah, kita lanjutkan dengan membuat model
, views
dan controller
.
A. Membuat Model
Karena kita akan mengambil semua informasi yang ada pada tabel laporan harian, silahkan copy paste skrip berikut ini dan simpan pada folder application/models/
dengan nama Model_report.php
.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Model_report extends CI_Model { public function __construct(){ parent::__construct(); } function getAllData() { $query=$this->db->query("SELECT * FROM laporan_harian"); return $query->result(); } }
B. Membuat Controller
Melanjutkan dari panduan sebelumnya, silahkan tambahkan function berikut ini pada Controller Report.php
.
function get_all_report() { $data['laporan'] = $this->model_report->getAllData(); $this->load->view('views_notifikasi', $data); }
Jangan lupa load model report yang tadi kita buat di atas.
C. Membuat Views Notifikasi
Buat views baru dengan nama views_notifikasi.php
dan simpan pada folder application/views/
*Notifikasi Laporan Harian* <br /> Posisi : <?php echo date("Y-m-d H:i:s");?><br /> <?php $no=1; foreach ($laporan as $row){ echo "<br> ID : ".$row->id."<br> Tanggal : ".$row->tanggal."<br> Nama : ".$row->nama."<br> Penjualan : ".$row->penjualan.""; $no++; } ?>
Jika tidak ada kesalahan, hasilnya akan seperti dibawah ini.

#2 Mengatur Jadwal Notifikasi
Setelah membuat tujuan notifikasi, selanjutnya adalah mengatur jadwal pengiriman notifikasi.
Disini kita akan menggunakan crontab
. Sebagai contoh pada panduan ini kita akan mengirimkan notifikasi setiap 5 menit sekali, jadi script-nya seperti di bawah ini:
/folder/notifikasi.sh
Untuk membuat atau menambahkan crontab baru, jalankan perintah berikut ini pada terminal.
crontab -e

Lalu pilih teks editor yang diinginkan, agar lebih mudah pilih [1] yaitu nano.
#3 Membuat Script untuk Mengirimkan Notifikasi dengan Telegram Bot
Setelah langkah-langkah di atas selesai, inilah tujuan terakhir kita yaitu membuat nofitikasi terjadwal dengan Bot Telegram.
Berikut ini contoh bash script
sederhana yang digunakan untuk mengirimkan notifikasi terjadwal dengan telegram bot pada panduan ini.
Silahkan salin dan simpan script
di bawah ini dengan nama notifikasi.sh
(sesuai nama pada crontab).
#!/bin/bash # ------------------------------------------------------------------ # Script sederhana untuk mengirimkan notifikasi dengan Telegram bot # dicoffeean.com # ------------------------------------------------------------------ notifikasiData() { w3m -dump "http://localhost/Codeigniter/report/get-all-report/" } CHATID="12345678" #Target Chat ID TOKEN="0987654321:ABCDEFG12345DFG7-WXyZABCNhZtqzEYE" #Token Bot Anda URL="https://api.telegram.org/bot$TOKEN/sendMessage" TEKS=$(notifikasiData) curl -s -d "chat_id=$CHATID&parse_mode=markdown&text=$TEKS" $URL > /dev/null
Jangan lupa untuk merubah permission nya dengan perintah berikut ini agar bisa di eksekusi:
chmod +x notifikasi.sh
Selesai dan silahkan tunggu hasilnya setiap 5 menit!

Simple kan? Untuk pengembangan lebih lanjut silahkan dikreasikan dengan kebutuhan anda masing-masing.
Contoh penerapan:
Bot Telegram Notifikasi Perkembangan Kasus COVID-19 di Indonesia
Buat Bot Telegram hanya 50 ribu? Klik disini : Jasa Pembuatan Bot Telegram
Untuk buat bot di cpanel gimana ya, ini kondisi jika menggunakan crontab. Sedangkan di cpanel tidak ada crontab, mohon dibuat tutorialnya jika bisa. Terimaksih
Kebetulan saya blm pernah buat kalo kasusnya pakai cPanel, mungkin bisa saja tapi jangan pake
bash / shell script
. melainkan PHP (web base). Di cPanel bukankah ada fitur Tugas Terjadwal?Kalo sempat nanti saya coba-coba ya. Tks
Gan, kodingan kalo pake windows gimana ya ?
cron tabnya saya pakai scheduler task trus yang dijalanin file dengan format bat. nah kodingannya apa ya biar get all laporannya ngirim ke telegram.
Mohon bantuannya, makasih
Jujur saya blm pernah buat kalo di OS windows, karena saya bukan pengguna windows. Tapi kalo emang support curl pake curl for windows aja. Atau bisa buat pake bahasa pemrograman lain, seperti
Python
/PHP
.