Home » Tekno » Membuat Notifikasi Terjadwal dengan Telegram Bot

Membuat Notifikasi Terjadwal dengan Telegram Bot

Membuat Telegram bot untuk Notifikasi

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:

Contoh database Laporan Telegram bots

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.

Tampilan Views Notifikasi Bot Telegram

#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:

*/5 * * * * /folder/notifikasi.sh

Untuk membuat atau menambahkan crontab baru, jalankan perintah berikut ini pada terminal.

crontab -e
Add or Edit Crontab on Linux

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!

Notifikasi terjadwal dengan bot telegram
Notifikasi Terjadwal Bot Telegram

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

4 Komentar

  1. Untuk buat bot di cpanel gimana ya, ini kondisi jika menggunakan crontab. Sedangkan di cpanel tidak ada crontab, mohon dibuat tutorialnya jika bisa. Terimaksih

    1. 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

  2. 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

Tinggalkan Komentar

Field bertanda * wajib diisi

3 + 3 =