Sebenarnya bingung mau diberi judul apa tulisan kali ini. Intinya kita akan mengirimkan pesan dengan Telegram bot menggunakan form HTML dan bahasa pemrograman PHP. Hmm daripada bingung, lebih baik lanjut nulis.
Form merupakan salah satu elemen HTML yang digunakan untuk melakukan interaksi dengan pengguna, baik untuk menerima inputan ataupun mendapatkan informasi pengguna yang selanjutnya akan diproses ke dalam server aplikasi. Biasanya form ini berisi field-field yang harus diisi oleh pengguna. Selengkapnya mengenai form silahkan baca disini.
Untuk lebih jelas mengenai maksud dari tulisan ini, silahkan lihat gambar di bawah ini.
Dapat dilihat pada gambar diatas merupakan sebuah form yang akan kita gunakan untuk mengirimkan pesan Telegram. Sebenarnya tanpa form sekalipun, kita tetap bisa mengirimkan custom message atau komentar kepada pengguna dengan metode API yang disediakan oleh pihak Telegram. Jadi form ini sengaja Saya buat untuk memudahkan hal tersebut.
Langsung saja, mari kita mulai cara membuat form tersebut.
Hal-hal yang harus dipersiapkan:
- Koneksi Internet
- Web server
- Bot Telegram
- Sedikit pemahaman tentang bahasa pemrograman PHP
- Coffee
Membuat Form
Buat folder di dalam root direktori web server dengan nama bots or whatever. Pada tulisan kali ini Saya menggunakan nama bots untuk folder proyeknya. Silahkan salin kode HTML berikut ini dan simpan dengan nama index.html.
Sekarang kita buat skrip PHP-nya, simpan dengan nama sendMessage.php.
Penjelasan
Lihat pada kode HTML pada baris berikut:
<form method="post" action="sendMessage.php">Pada baris tersebut, kita lihat metode yang digunakan yaitu POST yang berarti semua variabel inputan yang diisikan pada formulir ini akan diteruskan ke file sendMessage.php untuk dieksekusi.
<input type="text" class="form-control" name="telegram_id" placeholder="Telegram ID">
<input type="text" class="form-control" name="message_text" placeholder="Custom Text Message">
Huruf yang diberi warna merah diatas merupakan variabel yang akan dikirimkan ke file sendMessage.php. Jangan lupa untuk mengisi TOKEN bot pada file sendMessage.php.Mengirimkan Pesan
Oke setelah semuanya siap, kita akan coba lakukan pengujian. Pada skrip PHP diatas dapat kita lihat parse_mode=Markdown. Ini berarti kita mengirimkan pesan dengan gaya Markdown style. Sejauh ini bot API Telegram mendukung dua style untuk mengirimkan pesan yaitu Markdown style dan HTML style.
Buka alamat proyek, dalam contoh ini: http://localhost/bots/, lalu isi Telegram ID target pada field Telegram ID. Cara untuk mengetahui Telegram ID sama seperti pada postingan sebelumnya disini.
Hasilnya:
Demikianlah postingan kali ini mengenai Membuat Form untuk Mengirim Pesan dengan Telegram Bot, jika ada hal yang kurang dari Saya atau belum jelas silahkan kirim masukkan pada komentar dibawah.
Terima kasih 😊
Perlu Source Code? Silahkan klik disini.
baris 10 sampai 18 fungsinya apa ya di file sendmessage.php
ReplyDeletepake cURL om..
Deletesimplenya:
$ch = curl_init( $url ); : Inisialisasi Curl
curl_setopt_array( $ch, $options );: set opsi (URL yang akan kita load)
$result = curl_exec( $ch ); : Eksekusi Curl
curl_close( $ch ); : close curl
selengkapnya mengenai curl: http://php.net/manual/en/curl.examples.php
Kalo pake Local bisa gk? di Windows pake Xampp ?
ReplyDeleteBisa. Contoh diatas kan sy pakai Local juga, yg penting ada koneksi internet untuk terhubung ke API telegram nya
DeleteOhhh iya bang, itu yang ngirim pesan telegram kita / bot yang kita buat? mudeng w soalnya. pengenya telegram w yang real ngirim pesan ke temen gitu bisa gk?
ReplyDeletebot yang kita bikin yang kirim pesan, ga ada API nya kalo akun Telegram biasa.
DeleteKalo Akun Telegram kita yang otomatis ngirim itu gmana bang
ReplyDeletecoba cari di Google: "telegram-cli" atau "tdcli"
Deletekok gak ada tampilannya bang saat di jlankan di windows pake xampp ?
ReplyDeleteBisa dijelaskan pas bagian mana yg ga ada tampilannya?
ReplyDeleteCurl (php-curl) nya sudah terpasang/ diaktifkan?
Gan mau nanya, ente buat form untuk mengirim pesan dengan telegram bot itu di linux atau windows?
ReplyDeleteKalo di linux, setelah install php_curl maka bisa dijalankan. Tapi kalo di windows, meskipun sudah mengaktifkan php_curl di php ini (extension=php_curl.dll), pesan tidak terkirim meskipun tidak terjadi error.
Ane juga bingung kenapa tidak terkirim, padahal kalo ane taro di hostingan, programnya jalan dan bisa mengirim pesan telegramnya.
Ane cari2 info, katanya sih bila di windowsnya ada sistem keamaan yang aktif maka program tidak akan jalan. FYI, ane make windows 10. Entah kalo windows di bawah itu bisa atau ngga.
Solusinya sih mengganti curl_init dan curl2 lainnya dengan file_get_content dan tentunya dengan syntak yang berbeda juga dari curl.
Nah....bisakah agan membuat versi yang file_get_contentnya? Atau bila agan membuat form untuk mengirim pesan dengan telegram bot di windows, setingan apa lagi yang harus dilakukan agar pesan bisa terkirim?
FYI, ane ada koneksi internet dan nyambung.
Ane pengguna Linux om, wah kalo di windows ane blm terlalu paham juga kalo gitu, nanti insha Allah ane coba & infoin ya. Migrasi aja ke Linux biar mudah :D
DeletePunya ane kok gak bisa terkirim pesannya min, padahal sudah ada koneksi internet
ReplyDeletepakai Windows ya? jika ya, coba scroll ke atas baca-baca komen sebelumnya
DeleteGak ada pesan masuk dari telegram padahal udah ditulis pesan nya, tapi saat masuk ke akun telegram gak ada yg ngirim pesan-_-
ReplyDeletePakai sistem operasi apa? Kalo jendela silakan scroll komen diatas om, kebetulan sy blm coba/ blm sempet bikin di jendela
ReplyDeletekok ga ada pesan di telegram gan ?
ReplyDeletePadahal notifnya pesan terkirim
bantu jawab gan, itu url nya salah makanya ga kekirim.
ReplyDeletecoba diganti jadi ini di baris 9.
$url = "https://api.telegram.org/bot" . $secret_token . "/sendMessage?parse_mode=markdown&chat_id=" . $telegram_id;
mantap gan, kalau kita mau nambah kolom gimana ya? misal di bawah message mau menambahkan kolom Note.
ReplyDeleteTinggal ditambahin input form nya + nanti digabungin ke variabel $message_text kalo si om pake contoh diatas
DeleteSelamat malam bang rizki...mau nanya kalau ngirimnya otomatis dengan jadwal penanggalan misal tanggal yang di tentukan besok tapi di kirim hari ini atau h-3 dari tanggal yang di tentukan itu caranya gimana...?
ReplyDeleteTerimakasih bgt sebelumnya...semoga dimudahkan rozkinya...amin
Bisa banget Pak, kalo bapak pakai sistem operasi Linux bisa pake crontab sesuai jadwal yg bapak inginkan
Deleteudah pakai linux tapi belum bisa terkirim gan
ReplyDeleteError nya apa gan?
DeleteMantap gan, yang mau versi CodeIgniternya silahkan mapir kesini: Membuat Bot Telegram Auto Posting Pesan ke Group
ReplyDeleteThanks om Diko
Deletemau nanya gan. kalau mau bikin pengiriman ke telegramnya terjadwal gimana ya? ane mau coba bikin bot utk reminder. jadi nanti di tgl yg sudah diset akan otomatis terkirim. cuma belum nemu caranya. mohon petunjuknya jika ada artikel agan terkait hal itu. terima kasih sebelumnya gan
ReplyDeleteSebelumnya sistem operasi apa yang digunakan? Kalo pakai Linux sangat mudah bisa pakai crontab, saya juga pakai itu. Kalo di windows mungkin bisa disett di task scheduler
Deleteada tutorial kirim pesan nya kebanyak ngga ? saya baca tutorial kebanyakan kirim ke 1 ID, rencana mau bikin sistem monitoring
ReplyDeleteNext artikel saya tulis, baru aktif blogging
DeleteIni mah sama kayak untuk personal notifikasi ya om, bukan dari bot kirim ke telegram yang lain kan ya
ReplyDeleteKirim ke yang lain juga bisa om tinggal set Telegram ID / chat_id nya aja
DeleteUpdate buat kirim file nya admin..
DeleteDi postingan selanjutnya insha Allah saya lanjutkan ya
DeleteOm rezky update donk buat kirim document..
DeleteSiap, nunggu waktu yg tepat untuk kembali menulis :D
DeleteBang misalnya ini di jadikan tombol pengirim pesan ke owner bot = Saya apa bisa ? Dari kemaren nyari fungsi biar user bisa kirim sesuatu ke owner kalo metode longspol kan bisa di lihat di debug/getupdate kalo yg webhook bingung liat dimana
ReplyDeleteBisa banget om pake cara ini
DeleteGan bagi template bloggernya dong
ReplyDeleteOrder gan :D
DeleteWah trimakasi untuktoutorial nya
ReplyDeleteSama-sama om
Deletegan kalau nambahkan inputan gambar gimana gan
ReplyDeleteTinggal bikim form upload untuk media nya om, lalu method nya diganti menjadi sendPhoto
DeleteGan buatkan contoh donk yang form nya lebih dari 2 seperti nama,alamat,no hp dll
ReplyDeleteinsyaAllah next artikel ya gan, nanti sekalian dengan tutor kirim media (foto/file)
Delete