Cara menggunakan php telegram bot

| November 11, 2020 | PHP |

Tak dipungkiri lagi bahwa popularitas Telegram sebagai layanan messaging terus meningkat, khususnya bagi developer. Tak lain tak buka karena dibukanya API (Application Programming Interface) Telegram ini. Dengan adanya API kita kita bisa mengirim dan menerima pesan Telegram menggunakan aplikasi sendiri. Bahkan kita juga bisa membuat bot Telegram yang fungsinya bisa kita program sendiri. Gimana? menarik sekali, bukan?

Khusus pada artikel ini, saya akan membahas mengenai bagaimana cara mengirim pesan (message) Telegram menggunakan PHP, sementara untuk membuat bot Telegram, Anda bisa membacanya di artikel ‘membuat bot Telegram‘. PHP sendiri merupakan bahasa pemrograman yang sangat populer digunakan di sisi server (server side scripting). Keuntungan menggunakan PHP adalah script kita bisa running 24 jam di sebuah web server yang ada di web hosting. Dengan demikian dapat diakses oleh siapa saja dan kapan saja bagi yang punya koneksi internet. ‘Siapa saja’ di sini maknanya juga bisa sebuah ‘things’ (perangkat IoT), manusia (melalui smartphone, laptop, dll), atau juga entitas server yang lain (misal server Telegram). Jadi dengan menaruh script PHP kita di sebuah webserver maka script kita juga memiliki akses 24h ke server Telegram (melalui API).

Kirim Pesan Telegram PHP

Baiklah, tanpa berpanjang lebar, berikut ini adalah script untuk mengirim pesan Telegram menggunakan PHP. Pada intinya, script ini melakukan HTTP request ke server Telegram menggunakan teknik file_get_content untuk mengirimkan parameter sesuai dengan API yang dipersyaratkan.

<?php

$token = "1457121280:AAHg6rm0Rqa3Opew4Wc1NRzGhPdMGQ2Jmu0"; // token bot

$data = [
    'text' =>"contoh pesan telegram dari PHP ",
    'chat_id' => '-442697126'  //contoh bot, group id -442697126
];

file_get_contents("https://api.telegram.org/bot$token/sendMessage?" . http_build_query($data) );

?>

Perhatikan script di atas. Script di atas memiliki dua bagian utama, yakni bagian ‘data’ yang dikirim dengan format JSON seperti di atas, dan bagian HTTP request dengan ‘file_get_content’ dengan sintaks seperti di atas

Pada bagian ‘data’, parameter text dapat Anda isi dengan isi pesan Telegram yang akan dikirim, sedangkan parameter ‘chat_id’ adalah id tujuan pesan tersebut. ‘Chat_id’ ini dapat berupa ‘chat id’ (id chat) untuk chat tunggal ke account telegram tertentu atau dapat juga berupa ‘group id’, yakni id grup telegram. Pada umumnya, group id akan diawali dengan tanda ‘-‘

Running Script Kirim Pesan Telegram on Localhost

Untuk menjalankan script di atas tinggal di-copy-kan ke web server Anda di web hosting atau dapat pula Anda jalankan di server lokal Anda di laptop untuk sekedar mengujinya terlebih dahulu. Berikut ini langkah-langkah menjalankan script di atas di server lokal (localhost). Saya anggap Anda sudah menginstal XAMPP ya ..

  1. Simpan script di atas dengan nama ‘send.php’ di folder path htdocs
  2. Running web server Apache di laptop Anda (bisa melalui XAMPP Control Panel)
  3. Pastikan ada koneksi ke internet di laptop Anda. Script send.php nantinya akan menghubungi server Telegram, jadi butuh koneksi internet
  4. Buka browser Anda, dan ketikkan http://localhost/send.php
  5. Perhatikan apakah pesan sudah sampai di aplikasi Telegram Anda

Jika masih bingung, bisa lihat di video tutorial di bawah

Sekian untuk tutorial cara mengirim pesan telegram menggunakan PHP, semoga bermanfaat. Wassalam

About The Author

Saptaji, ST. M.Tr.T

a Technopreneur - writer - Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com

Kode ini membantu saya banyak yang saya dapatkan dari situs web php.net di sini

Kunjungi http://php.net/manual/en/class.curlfile.php#115161(Pilih kode ini di situs web php).

Saya hanya mengubah tajuk dalam kode ini untuk bot telegram untuk mengirim gambar, cukup salin fungsi ini

function curl_custom_postfields($ch, array $assoc = array(), array $files = array()) {

          // invalid characters for "name" and "filename"
          static $disallow = array("\0", "\"", "\r", "\n");

          // build normal parameters
          foreach ($assoc as $k => $v) {
              $k = str_replace($disallow, "_", $k);
              $body[] = implode("\r\n", array(
                  "Content-Disposition: form-data; name=\"{$k}\"",
                  "",
                  filter_var($v),
              ));
          }

          // build file parameters
          foreach ($files as $k => $v) {
              switch (true) {
                  case false === $v = realpath(filter_var($v)):
                  case !is_file($v):
                  case !is_readable($v):
                      continue; // or return false, throw new InvalidArgumentException
              }
              $data = file_get_contents($v);
              $v = call_user_func("end", explode(DIRECTORY_SEPARATOR, $v));
              $k = str_replace($disallow, "_", $k);
              $v = str_replace($disallow, "_", $v);
              $body[] = implode("\r\n", array(
                  "Content-Disposition: form-data; name=\"{$k}\"; filename=\"{$v}\"",
                  "Content-Type: image/jpeg",
                  "",
                  $data,
              ));
          }

          // generate safe boundary
          do {
              $boundary = "---------------------" . md5(mt_Rand() . microtime());
          } while (preg_grep("/{$boundary}/", $body));

          // add boundary for each parameters
          array_walk($body, function (&$part) use ($boundary) {
              $part = "--{$boundary}\r\n{$part}";
          });

          // add final boundary
          $body[] = "--{$boundary}--";
          $body[] = "";

          // set options
          return @curl_setopt_array($ch, array(
              CURLOPT_POST       => true,
              CURLOPT_POSTFIELDS => implode("\r\n", $body),
              CURLOPT_HTTPHEADER => array(
                  "Expect: 100-continue",
                  "Content-Type: multipart/form-data; boundary={$boundary}", // change Content-Type
              ),
          ));
      }

Coba Dasar: Sekarang gunakan saja kode ini dengan mengirimkan nama foto dengan path dan id obrolan .__ begini caranya: -

$array1=array('chat_id'=><here_chat_id>);
$array2=array('photo'=>'index.jpg') //path
$ch = curl_init();       
curl_setopt($ch, CURLOPT_URL,"https://api.telegram.org/<bot_token>/sendPhoto");
curl_custom_postfields($ch,$array1,$array2);//above custom function
$output=curl_exec($ch);
close($ch);

Untuk mengirim png atau metode lain ubah fungsi curl_custom sesuai kebutuhan Anda.

Bagaimana cara menjalankan bot di Telegram?

Cara Menggunakan Bot Telegram Chat anonymous.
Buka aplikasi Telegram. ... .
Setelah itu cari bot Telegram chat anonymous pada kolom pencarian. ... .
Kemudian, Anda bisa klik start atau mulai untuk menjalankan bot tersebut..
Berikutnya, Anda akan langsung terhubung dengan pengguna Telegram lain secara random..

Apakah bot Telegram bisa membalas pesan?

Dengan menggunakan chatbot dari Botika, Anda dapat melihat dan membalas semua pesan chat yang datang dari berbagai platform di satu tempat. Tidak perlu repot lagi menggunakan banyak chat client atau membuka pesan satu persatu melalui handphone atau komputer.

Bot apa saja yg ada di Telegram?

Dihimpun Tempo dari Techwiser, berikut rekomendasi 5 bot telegram terbaik dan paling berguna untuk dapat Anda coba:.
Bot Gmail. Bot Telegram pertama ini berguna dalam pemanfaatan fitur-fitur aplikasi Gmail. ... .
Bot Spotify. ... .
Bot Skeddy. ... .
Bot untuk mengunduh berbagai media..

Kenapa bot Telegram tidak bisa digunakan?

Penyebab Bot Telegram Bisa Error Pertama karena jaringan internet yang buruk. Lalu penyebab lainnya yaitu menggunakan ardunino IDE dan board esp8266 versi lama. Dua program tersebut sangat penting pada saat menggunakan bot telegram.