Langsung ke konten utama

Command Bot Pada Deep Linking Telegram

Setiap user, group, channel, termasuk bot Telegram dapat memiliki Deep Linking dari username. Khususnya Bot dapat kita sisipkan command bot pada Deep Linking bot tersebut untuk mengirimkan parameter nilai tertentu saat bot diaktifkan oleh user.

BAHAN BAKU

Untuk mengimplementasikan eksperimen ini perlu dipersiapkan beberapa hal:

  1. Bot Telegram berikut API Token, anda dapat menyimak cara membuatnya dan mendapatkan API Token pada artikel ini.
  2. Satu file Apps Script, anda bisa menyimak cara membuatnya dan deployment Web Apps di artikel ini.
  3. Script eksperimen ini yang dapat unduh atau salin dari repository.
  4. ID User anda sebagai admin bot yang akan digunakan untuk menampung keterangan error bila terjadi kendala, gunakan @simrsinfobot untuk mengetahui ID User anda.

Di dalam script terdapat beberapa konstata yang harus anda isi dengan ID, API TOKEN, dan URL file bahan baku milik anda:

Bila anda menemui kendala saat deployment silahkan simak cara penanganannya pada artikel iniSiLiKiDi

DEEP LINKING vs MOBILE DEEP LINKING

Deep Linking tetap menggunakan notasi URL dengan awalan protokol https://. Sedangkan Mobile Deep Linking menggunakan awalan inisial aplikasi yang bersangkutan seperti tg:// adalah URL untuk memanggil aplikasi Telegram atau fb:// untuk facebook dan ebay:// untuk memanggil aplikasi eBay.

Deep Linking dapat dibuka di semua perangkat termasuk perangkat mobile, sedangkan Mobile Deep Linking hanya bisa dibuka di perangkat mobile sajaSiLiKiDi

DEEP LINKING USERNAME TELEGRAM

Deep linking hanya muncul saat akun bersifat publik dan opsional kecuali bot wajib disetel saat pertama kali dibuat:

Deep linking username Telegram yang paling populer diawali dengan notasi t.me/[username]. Sehingga bila username dari bot adalah @simrsjsonbot maka notasinya dapat diawali pula dengan protokol https atau tidak tergantung platform:

https://t.me/simrsjsonbot

Kelebihan lainnya dari Telegram ada di sisi pengamanan privasi Deep Linking tersebut yang dapat anda simak di siniSiLiKiDi

PARAMETER DEEP LINKING

Telegram memperkenankan penyisipan parameter dalam public link username, hanya saja terbatas pada parameter command /start. Command /start merupakan command default dalam inisiasi pertama user berkomunikasi dengan Bot.

Parameter yang disisipkan berupa alfanumerik atau karakter lain yang ramah URL encode dan dalam satu rangkaian tanpa spasi:

https://t.me/simrsjsonbot?start=Alohalooo

PENGOLAHAN PARAMETER

Saat deep linking dieksekusi, Telegram akan mengirimkan JSON update yang di dalamnya terdapat parameter yang disertakan bersama command /start dalam properti text objek message.

Dari gambar di atas tampak nilai dari properti "text" adalah "/start Alohalooo" di mana parameter dipisahkan dengan spasi kosong dari command /start.

Banyak cara untuk memilah parameter salah satunya kita gunakan fungsi split() yang akan menghasilkan sebuah array yang berisi pemisahan command /start menjadi elemen pertama [0] sedangkan parameter menjadi elemen kedua [1]:

let parameter = data.message.text.split(" ")[1]
Anda bisa melihat contoh JSON dari deep linking ini di DEEP-LINKING-START.jsonSiLiKiDi

Setelah berhasil dipisahkan dan ditampung dalam satu variabel, selanjutnya karena berbentuk string bisa anda olah kemudian sesuai kebutuhan. Misalkan akan kita kirim balik ke user nilai paramter tersebut dengan metode sendMessage:


let dataPesan = {
  method: "post",
  payload: {
    method: "sendMessage",
    chat_id: String( data.message.chat.id ),
    text: String( data.message.text.split(" ")[1] )
  }
};

let response = UrlFetchApp.fetch(telegramAPIURL + "/", dataPesan);
Logger.log( response.getContentText() );

FINAL SCRIPT

Final Script dapat diunduh di repository dan berikut hasil eksekusi di Bot Telegram:

Dapatkan skrip semua materi di repository

Dukung donasi agar tutorial ini tetap operasional:
Trakteer Saya SiLiKiDi

Komentar

Postingan populer dari blog ini

Kirim Pesan Ke Telegram Dengan Apps Script

Dengan koneksi webhook anda bisa mulai ujicoba mengirim pesan pertama ke Telegram dari Google Apps Script.

Input User Dengan ForceReply Di Telegram

Metode ForceReply memungkinkan Bot memaksa user untuk memberikan input sebelum melanjutkan proses, dengan demikian anda dapat menggelar Step-by-Step formulir di Telegram.