Cara Mudah Bikin Bot Telegram Sendiri

sultanmod

site: unplash.com

Telegram bot itu bisa dipakai buat macem-macem, mulai dari autoreply, scraper, sampai bikin layanan otomatis. Di artikel ini, gw bakal jelasin cara bikin bot Telegram sendiri dengan Node.js, step-by-step, gampang dipahami, dan langsung bisa dicoba!

1. Persiapan Awal

Sebelum mulai, pastiin lu udah punya:

  • Akun Telegram
  • Node.js terinstall di PC/laptop (bisa cek dengan node -v di terminal)
  • Token bot Telegram (nanti gw ajarin cara dapetinnya)
  • Kode editor (misal: VS Code, Acode buat yang pake HP)

2. Dapetin Token Bot dari BotFather

Telegram punya bot khusus buat bikin bot baru, namanya BotFather. Ikutin langkah ini:

  1. Buka Telegram, cari @BotFather
  2. Klik Start, lalu ketik /newbot
  3. Masukin nama bot lu (bebas)
  4. Masukin username bot yang unik (harus diakhiri dengan bot, misal MyAwesomeBot)
  5. Kalau berhasil, lu bakal dapet Token API kayak gini:
    123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ
    
    Simpen token ini, karena ini yang bakal dipake buat komunikasi ke Telegram API.

3. Setup Proyek Node.js

Sekarang kita mulai coding-nya. Buka terminal/cmd, lalu buat folder proyek baru dan masuk ke foldernya:

mkdir my-telegram-bot
cd my-telegram-bot

Jalankan perintah ini buat inisialisasi proyek Node.js:

npm init -y

Ini bakal bikin file package.json secara otomatis.

4. Install Paket yang Dibutuhkan

Kita bakal pake package node-telegram-bot-api buat komunikasi dengan Telegram. Install dulu:

npm install node-telegram-bot-api

5. Buat File Bot dan Tulis Kodenya

Buat file baru index.js di dalam folder proyek lu, terus isi dengan kode dasar berikut:

const TelegramBot = require('node-telegram-bot-api');
const token = 'GANTI_DENGAN_TOKEN_BOT_LU';
const bot = new TelegramBot(token, { polling: true });

bot.on('message', (msg) => {
    const chatId = msg.chat.id;
    bot.sendMessage(chatId, `Halo, ${msg.from.first_name}! Bot ini udah jalan!`);
});

Penjelasan Kode:

  • require('node-telegram-bot-api') → Mengimpor library yang kita butuhkan.
  • const bot = new TelegramBot(token, { polling: true }) → Bikin instance bot yang aktif terus (polling).
  • bot.on('message', (msg) => { ... }) → Event listener buat nangkep setiap pesan yang masuk.
  • msg.chat.id → ID chat buat nentuin ke mana bot harus ngirim balasan.
  • bot.sendMessage(chatId, ... ) → Perintah buat balas pesan.

6. Jalankan Bot-nya

Sekarang tinggal jalanin bot dengan perintah:

node index.js

Kalau sukses, lu bisa coba chat bot lu di Telegram, nanti dia bakal bales pesan lu otomatis!

7. Tambahin Fitur Perintah

Supaya lebih keren, kita bisa tambahin command /start dan /help biar bot bisa ngerespon perintah:

bot.onText(/\/start/, (msg) => {
    bot.sendMessage(msg.chat.id, 'Selamat datang! Ketik /help buat lihat perintah yang tersedia.');
});

bot.onText(/\/help/, (msg) => {
    bot.sendMessage(msg.chat.id, 'Daftar perintah:\n/start - Mulai bot\n/help - Lihat perintah yang tersedia');
});

Penjelasan Kode:

  • bot.onText(/\/start/, (msg) => { ... }) → Nangkep perintah /start dan ngasih respon otomatis.
  • bot.onText(/\/help/, (msg) => { ... }) → Nangkep /help dan menampilkan daftar perintah.

Sekarang coba ketik /start atau /help di bot Telegram lu, harusnya udah jalan!

8. Deploy ke Server (Opsional)

Kalau mau botnya tetep jalan 24/7, lu bisa host di VPS atau pake layanan kayak Railway, Render, atau Google Cloud. Cara simpelnya:

  1. Gunakan pm2 buat jalanin bot di background:
    npm install -g pm2
    pm2 start index.js --name "my-bot"
    
  2. Kalau pake Railway, tinggal deploy proyek Node.js lu ke sana.

9. Tambahkan Fitur Lanjutan

Biar lebih menarik, lu bisa nambahin fitur kayak:

  • Bot jawab otomatis berdasarkan keyword:
    bot.on('message', (msg) => {
        const chatId = msg.chat.id;
        if (msg.text.toLowerCase().includes('halo')) {
            bot.sendMessage(chatId, 'Halo juga! Apa kabar?');
        }
    });
    
  • Integrasi dengan API eksternal, misalnya cuaca:
    const axios = require('axios');
    
    bot.onText(/\/cuaca (.+)/, async (msg, match) => {
        const kota = match[1];
        try {
            const response = await axios.get(`https://api.openweathermap.org/data/2.5/weather?q=${kota}&appid=API_KEY_LO`);
            const suhu = response.data.main.temp - 273.15;
            bot.sendMessage(msg.chat.id, `Suhu di ${kota} saat ini ${suhu.toFixed(2)}°C`);
        } catch (error) {
            bot.sendMessage(msg.chat.id, 'Gagal ambil data cuaca, coba lagi.');
        }
    });
    

10. Kesimpulan

Gampang kan? Sekarang lu udah bisa bikin bot Telegram sendiri! Dari artikel ini, lu belajar: 

✅ Cara dapetin token dari BotFather 

✅ Setup proyek Node.js 

✅ Coding bot dengan node-telegram-bot-api ✅ Nambahin fitur command /start dan /help ✅ Cara deploy biar bot tetep online ✅ Tambahin fitur lanjutan kayak auto-reply & cek cuaca

Kalau ada pertanyaan, langsung tulis di komentar ya! 🚀

Getting Info...

Posting Komentar

Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.