Pengenalan
Bot Telegram adalah sebuah akun khusus yang dijalankan secara otomatis oleh sebuah program. Siapa saja bisa membuat bot Telegram, asalkan ia menguasai coding meskipun cuma sedikit.
Kalau sudah tahu cara membuat bot, lompat ke materi Memulai!
Sedangkan grammY adalah sebuah library untuk mempermudah pembuatan sebuah bot.
Cara Menulis Sebuah Bot
Sebelum mulai membuat bot, kamu harus paham apa yang dapat dan tidak dapat dilakukan oleh bot Telegram. Lihat materi Pengantar untuk Developer yang dibuat oleh tim Telegram.
Untuk membuat bot Telegram, kamu harus membuat kode di dalam sebuah file teks, yang biasa disebut dengan source code. Source code menjelaskan apa yang harus dikerjakan oleh bot, misalnya “Ketika pengguna mengirim pesan ini, tanggapi dengan pesan itu”, dan sebagainya.
Kalau sudah jadi, kita tinggal menjalankan source code tersebut. Bot akan berjalan hingga kamu menyuruhnya berhenti.
Beres! Sekarang bot sudah selesai dibuat…
Cara Membuat Bot Tetap Berjalan
…kecuali, kalau kamu benar-benar serius dengan proyek bot kamu. Meski bot sekarang sudah bisa berjalan, namun saat kamu menghentikan bot-nya (atau mematikan komputer), bot menjadi tidak responsif, sehingga pesan yang masuk tidak akan diproses.
Lewati bagian ini jika kamu cuma ingin bermain-main dengan bot, langsung lompat ke Persiapan untuk Memulai.
Sederhananya, jika ingin bot tetap aktif sepanjang waktu, kamu harus terus menjalankan komputer selama 24 jam setiap hari. Karena kemungkinan besar kamu tidak ingin melakukannya dengan komputer kesayanganmu, kamu harus mengunggah source code bot ke sebuah penyedia hosting—dengan kata lain, menggunakan komputer milik orang lain, yang juga dikenal sebagai server—dan biarkan orang tersebut yang menjalankannya untukmu.
Ada banyak penyedia layanan di luar sana yang mengizinkan kamu untuk menjalankan bot Telegram secara gratis. Dokumentasi ini juga sudah menyediakan daftar beberapa penyedia hosting yang kami tahu bekerja dengan baik dengan grammY (lihat di bagian Hosting. Namun, pada akhirnya, keputusan ada pada diri kamu untuk memilih penyedia layanan yang sesuai. Perlu diingat bahwa disaat kamu menjalankan kode di tempat lain, berarti siapa pun yang menguasai “tempat” tersebut memiliki akses ke semua pesan dan data penggunamu. Jadi, kamu harus bijak dalam memilih penyedia hosting yang dapat dipercaya.
Berikut ini adalah diagram (yang disederhanakan) bagaimana alur yang terjadi ketika pengguna—sebut saja namanya Budi—mengakses bot kamu:
________ mengirim ____________ ____________
| Budi | —> pesan Telegram —> | Telegram | —> HTTP request —> | bot kamu |
———————— ke bot kamu ———————————— ————————————
ponsel server Telegram komputer kamu,
lebih baik lagi: sebuah server
|____________________________________________| |___________|
| |
tanggung jawab Telegram tanggung jawab kamu
Demikian pula sebaliknya, bot kamu juga dapat mengirim HTTP request ke server Telegram untuk mengirim pesan balasan ke Budi. Kalau belum pernah mendengar tentang HTTP, untuk sementara, kamu bisa menganggapnya sebagai sebuah paket data yang dikirim melalui internet.
Apa yang grammY Berikan untuk Kamu
Bot berinteraksi dengan Telegram melalui HTTP request. Setiap kali bot mengirim atau menerima pesan, HTTP request akan keluar-masuk antara server Telegram dan server/komputer kamu.
grammY melakukan semua komunikasi ini untuk kamu, sehingga cukup dengan mengetik send
di source code, pesan akan langsung terkirim. Selain itu, ada berbagai hal lain yang dilakukan grammY untuk mempermudah pembuatan bot. Kamu akan mengetahuinya nanti seiring membaca dokumentasi-dokumentasi ini.
Persiapan untuk Memulai
Lewati sisa halaman ini jika sudah tahu cara mengembangkan aplikasi Deno atau Node.js. Lompat ke materi selanjutnya.
Ada satu hal yang menarik di dalam dunia pemrograman—hal-hal penting yang dianggap sepele dalam menulis kode sangat jarang dibahas, karena sebagian besar developer sering kali berpikir bahwa hal itu sudah sangat jelas. Sehingga, mereka merasa sudah tak perlu menjelaskannya lagi karena mengira semua orang juga sudah pasti paham.
Pada bagian selanjutnya, kamu akan membuat kode program dalam bahasa pemrograman Type
Belajar Ngoding
Kamu bisa mulai belajar TypeScript melalui tutorial resmi yang ditulis oleh tim TypeScript, lalu kembali ke sini jika sudah selesai. Jangan habiskan lebih dari 30 menit untuk melakukan hal-hal lain di internet—lihat koleksi foto kucing misalnya 🐱. Langsung kembali ke sini, selesaikan materi ini, kemudian kita bisa memulai.
Jika menemukan syntax yang tidak kamu ketahui, atau mendapatkan pesan error yang tidak dimengerti, langsung saja cari di internet. Penjelasan serta solusinya kemungkinan besar sudah tersedia—misal di Stack Overflow.
Malas Belajar Ngoding
Luangkan waktumu sebentar untuk menonton video 34 detik ini.
Catatan penerjemah:
Mungkin video di atas akan sulit dimengerti untuk kamu yang belum terbiasa dengan bahasa Inggris. Inti dari video tersebut adalah satu-satunya cara untuk belajar pemrograman—dengan cepat—adalah jangan terlalu banyak menonton video tutorial ataupun pelatihan-pelatihan semacamnya. Teori memang penting, tetapi yang perlu kamu prioritaskan adalah memperbanyak latihan, alias praktik langsung ngoding. Untuk versi bahasa Indonesia, mungkin yang mirip dengan video di atas adalah video 3 menit ini—lebih tepatnya 18 detik pertama.
Dengan memilih grammY, kamu telah menggunakan sebuah bahasa pemrograman, yaitu TypeScript. Tapi, apa yang selanjutnya dilakukan setelah membuat kode TypeScript, bagaimana cara menjalankan kode tersebut? Untuk itu, kamu perlu memasang beberapa software yang dapat mengeksekusi kode tersebut. Jenis software ini disebut dengan runtime environment. Ia akan membaca file source code kamu kemudian mengerjakan apa pun yang diprogramkan di dalamnya.
Terdapat dua runtime environment yang bisa kita pilih: Deno dan Node
Mulai dari sini, kami akan membantu kamu memilih di antara kedua platform tersebut. Kalau sudah tahu mana yang ingin digunakan, silahkan lompat ke persiapan untuk Node
.js atau persiapan untuk Deno.
Node.js adalah teknologi yang lebih stabil dan sudah lama dikembangkan. Oleh karena itu, tidak heran jika Node.js mampu mengerjakan hal-hal yang rumit, misalnya menghubungkan database yang tidak umum digunakan ataupun melakukan sesuatu yang berkaitan dengan low-level system. Sebaliknya, Deno masih relatif baru, jadi terkadang masih belum mendukung untuk keperluan tingkat lanjut semacam itu. Saat ini, kebanyakan server masih menggunakan Node.js.
Di sisi lain, Deno secara signifikan lebih mudah dipelajari dan digunakan. Kalau kamu belum memiliki banyak pengalaman di dunia pemrograman, memulai dengan Deno merupakan pilihan yang tepat.
Malahan, jika sebelumnya pernah menulis kode menggunakan Node.js, kamu patut mempertimbangkan untuk mencoba Deno. Banyak hal rumit yang ada di Node.js sudah tidak perlu dipikirkan lagi di Deno.
Keunggulan Deno dibandingkan dengan Node.js:
- Proses penginstalan sangat mudah.
- Tidak perlu mengatur konfigurasi apapun.
- Menggunakan kapasitas penyimpanan yang jauh lebih sedikit.
- Memiliki development tool bawaan yang lebih unggul serta integrasi code editor yang lebih baik.
- Sistem keamanan yang jauh lebih aman.
- Dan kelebihan-kelebihan lain yang tidak bisa diuraikan di sini.
Menulis kode dengan Deno juga jauh lebih menyenangkan. Setidaknya, itulah pendapat kami.
Namun, jika kamu memiliki alasan yang kuat untuk tetap menggunakan Node.js, misalnya karena sudah menguasainya dengan baik, maka itu tidak masalah! Kami memastikan bahwa grammY berfungsi sama baiknya di kedua platform tanpa mengorbankan satu sama lain. Silakan pilih mana yang menurut kamu paling sesuai.
Persiapan untuk Deno
Sebelum mulai membuat bot, mari terlebih dahulu menyiapkan lingkungan kerja pengembangan software yang sesuai. Diantaranya adalah menginstal beberapa tool yang dibutuhkan.
Menyiapkan Perangkat untuk Pengembangan
Pertama-tama, instal Deno di perangkat kamu.
Siapkan juga text editor yang sesuai untuk coding. Salah satu yang sesuai untuk Deno adalah Visual Studio Code, atau biasa disebut dengan VS Code. Silahkan diinstal juga.
Selanjutnya, kamu perlu menghubungkan Deno dan VS Code. Caranya sangat mudah: VS Code punya extension yang bisa melakukan semua hal tersebut secara otomatis. Kamu bisa menginstalnya seperti yang telah dijelaskan di sini.
Perangkat kamu sekarang siap digunakan untuk mengembangkan bot! 🎉
Mengembangkan Bot
Buat sebuah direktori baru di suatu tempat. Direktori ini nantinya akan berisi proyek bot kamu. Setelah itu, buka direktori tersebut di VS Code.
mkdir ./my-bot
cd ./my-bot
code .
2
3
Jika kamu menggunakan macOS dan command
code
tidak tersedia, cukup buka VS Code, tekanCmd+Shift+P
, ketik “shell command”, kemudian tekan Enter.
Di VS Code, ubah direktori kosong tersebut menjadi sebuah proyek Deno. Tekan Ctrl+Shift+P
, ketik “deno init”, kemudian tekan Enter. Jika berhasil, versi Deno yang terinstal di perangkat kamu akan ditampikan di bagian bawah kanan code editor.
Lingkungan kerja untuk pengembangan Deno kamu sudah siap. Sekarang kamu bisa mulai menulis bot kamu. Penjelasannya ada di halaman berikutnya.
Terakhir, setelah membuat bot, misalnya ditaruh di sebuah file bernama bot
, kamu bisa menjalankannya dengan mengetik deno run
di terminal kamu—Yup, kamu akan sering berinteraksi dengan terminal ketika menulis sebuah program, jadi mulai sekarang biasakan dirimu. Kamu bisa menghentikan bot dengan menekan Ctrl+C
.
Sudah siap? Mari kita mulai! 🤖
Persiapan untuk Node.js
Berbeda dengan Deno, TypeScript di Node.js tidak bisa dijalankan secara langsung. File TypeScript perlu di-compile terlebih dahulu supaya menghasilkan file JavaScript (misalnya dari file bot
, setelah di-compile akan menjadi bot
). Nah, file JavaScript inilah yang akan dijalankan oleh Node.js.
Baris perintah untuk melakukan proses compile tersebut, akan dibahas pada materi selanjutnya ketika kamu sudah selesai membuat bot. Yang penting, kamu sekarang sudah tahu kalau TypeScript di Node.js perlu di-compile terlebih dahulu agar bisa digunakan.
Untuk menjalankan file bot
, kamu harus meng-install Node
Berikut tahap-tahap yang perlu dilakukan di Node.js:
- Buat source file
bot
menggunakan TypeScript, misalnya dengan menggunakan VS Code (atau kode editor lainnya)..ts - Compile kode dengan menjalankan perintah di terminal. Langkah ini akan menghasilkan file bernama
bot
..js - Jalankan
bot
menggunakan Node.js, sekali lagi dari terminal..js
Setiap kali melakukan perubahan kode di bot
, kamu perlu memulai ulang proses Node.js. Tekan Ctrl+C
di terminal untuk menghentikan proses tersebut, yang nantinya juga akan menghentikan bot kamu. Kemudian, ulangi langkah 2 dan 3.
Hah, maksudnya?
Proses instalasi Node.js beserta pengaturan konfigurasinya memerlukan waktu yang tidak sedikit. Jika kamu belum pernah melakukannya, kemungkinan besar kamu akan mengalami berbagai masalah yang cukup rumit untuk diatasi.
Itulah kenapa kami sedikit berharap kamu mengerti bagaimana mengatur sistem kamu, atau bahkan mempelajarinya secara mandiri—Proses penginstalan Node.js dengan cara yang benar sangatlah rumit sehingga tidak cukup untuk kami menjelaskannya di halaman ini.
Jika kamu merasa kebingungan di titik ini, sebaiknya tinggalkan Node.js dan beralih menggunakan Deno.
Masih percaya diri? Keren! Mari kita mulai! 🤖