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:
- Bot Telegram berikut API Token, anda dapat menyimak cara membuatnya dan mendapatkan API Token pada artikel ini.
- Satu file Apps Script, anda bisa menyimak cara membuatnya dan deployment Web Apps di artikel ini.
- Script eksperimen ini yang dapat unduh atau salin dari repository.
- 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:
- Cek bila terdapat command /start
- Cek bila command /start disertai parameter
- Cek bila di dalam parameter terdapat mention @Bot
- 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:
SiLiKiDi
Komentar
Posting Komentar