Langsung ke konten utama

Command Bot Pada Group Telegram

Bot dapat ditambahkan dalam group percakapan Telegram sehingga otomatis semua fitur Bot dapat diakses langsung dari group tersebut melalui command bot atau mention @.

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

COMMAND BOT DI GROUP

Ketika beberapa bot ditambahkan dalam sebuah group cara untuk mengakses command masing-masing bot dengan notasi /[command]@[nama_bot] sebagai contoh:


/start@pertamakubot
/start@simrsjsonbot
/poll001@simrsjsonbot
Hingga rilis Bot API 5.3 khusus untuk command bot di group belum disediakan parameter tambahanSiLiKiDi

TRIK MENYISIPKAN PARAMETER

Menyisipkan parameter tambahan pada command bot untuk group, sama seperti pada kasus chat_id pada poll user-based yaitu dengan menempelkan nilai parameter pada command tanpa spasi.

Pada artikel sebelumnya telah dibahas parameter yang disertakan pada command dengan notasi URL HTTP. Maka untuk di group kita tempelkan parameter "alohalooo" pada notasi /start, sehingga user mengetik dengan notasi berikut:

/startalohalooo@pertamakubot

Tambahan parameter ini pun harus diterapkan juga pada command menu bot apakah menjadi tambahan command baru atau memodifikasi yang sudah ada.

MENGEKSTRAK TEMPELAN PARAMETER

Kita akan menggunakan script yang dibahas artikel sebelumnya dengan modifikasi pada alur skrining:

  1. Cek bila terdapat command /start
  2. Cek bila command /start disertai parameter
  3. Cek bila di dalam parameter terdapat mention @Bot
  4. Munculkan pesan default bila tidak terdapat parameter dalam command /start

Skrining Command /start dan Parameternya

Memeriksa apakah awalan berisi teks "/start":

if ( data.message.text.substring(0, 6) === "/start" ) {...}

Memeriksa apakah setelah command /start disertai parameter atau tidak:

if ( data.message.text.match(/\/start(.*)/).pop() !== "" ) {...}

Mengisolasi Parameter

Bila terdeteksi ada command /start, maka pisahkan parameter dari command tersebut:

var dataText = data.message.text.toLowerCase().match(/\/start(.*)/).pop().trim();

Deteksi Adanya Mention @Bot

Bila parameter sudah dipisahkan, selanjutnya periksa jika dalam parameter terdapat karakter @ yang berarti mention bot berasal dari Group chat:

if ( dataText.includes( "@" ) ) {...}

Deteksi Parameter Pada Mention @Bot

Bila terdeteksi adanya mention @Bot, selanjutnya periksa apakah disertakan parameter dalam mention bot tersebut:

if ( dataText.split( "@" ).shift() !== "" ) {...}

Lalu tampung ke dalam variabel pesan:

pesan = "Parameter Command [GROUP]: " + "" + dataText.split( "@" ).shift()+ "";

Jika Tidak Terdeteksi Mention @Bot

Bila mention @Bot tidak ada, maka langsung tampung ke dalam pesan:

... else pesan = "Parameter Command: " + "" + dataText + "";

Jika Tidak Terdeteksi Parameter

Bila tidak terdeteksi parameter apapun pada command, maka berlakukan pesan default.

FINAL SCRIPT

Final Script dapat diunduh di repository dan hasil eksekusi di Private chat dan Group Chat tampak berikut ini:

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.