Pendahuluan

Bot Telegram telah menjadi alat yang sangat berguna dalam berbagai aplikasi, mulai dari layanan pelanggan hingga pengingat otomatis. Salah satu cara untuk meningkatkan fungsionalitas bot adalah dengan menambahkan kemampuan untuk membaca data dari file json. Dalam artikel ini, kita akan membahas langkah-langkah untuk menambahkan fitur ini pada bot Telegram yang dibangun menggunakan python.

Persiapan

1. Buka aplikasi Telegram Anda, jika Anda belum memiliki akun Telegram, silakan Membuat Akun Bot Telegram lalu hubungkan ke VPS Anda atau silakan baca Mempersiapkan VPS sebagai Hosting untuk Bot Telegram

2. Lakukan update VPS Anda:

apt update

3. Lakukan upgrade VPS Anda:

apt upgrade -y

4. Pasang pyTelegramBotApi:

pip install pyTelegramBotApi

5. Pasang pip:

apt install python3-pip -y

6. Unduh nodejs v.18:

curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash

7. Pasang nodejs v.18:

apt install nodejs

8. Pasang dan perbarui npm:

npm install -g npm@latest

9. Pasang pm2:

npm install -g pm2

10. Buatlah file json baru dengan nama data.json dan tuliskanlah kode berikut:

[
  {
    "ID": "1",
    "Teks": "Ini adalah teks 1"
  },
  {
    "ID": "2",
    "Teks": "Ini adalah teks 2"
  },
  {
    "ID": "3",
    "Teks": "Ini adalah teks 3"
  }
]

11. Buatlah file python baru, misalnya main.py dan tuliskanlah kode berikut:

from telebot import *
from telebot import types
import json

TOKEN = 'TOKEN_API' # ganti dengan TOKEN_API Anda

bot = telebot.TeleBot(TOKEN)

# Ambil data dari data.json
with open('data.json', 'r') as file:
    data = json.load(file)

# Fungsi untuk mencari kata dalam data
def search_word(word):
    found_texts = []
    for item in data:
        if word in item["Teks"]:
            found_texts.append(item["Teks"])
    return found_texts

# Handler untuk pesan /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
		bot.send_message(message.chat.id, "Selamat datang di bot pencarian kami. Silakan ketik kata yang ingin Anda cari.")

# Handler untuk semua pesan
@bot.message_handler(func=lambda message: True)
def echo_all(message):
    word = message.text
    found_texts = search_word(word)

    if found_texts:
        response = f'Ditemukan "{word}":\n' + '\n'.join(found_texts)
        bot.send_message(message.chat.id, response)
    else:
        bot.send_message(message.chat.id, f'Kata "{word}" tidak ditemukan.')

# Bot aktif
print('Bot sudah aktif')

# Polling
bot.polling()

12. Unggah data.json dan main.py dalam folder root menggunakan aplikasi yang Anda gunakan. Berikut adalah strukturnya:

root/
├── main.py
└── data.json

13. Jalankan kode bot Telegram Anda:

pm2 start main.py

14. Jalankan kode bot Telegram Anda agar selalu aktif 24 jam:

pm2 startup
pm2 save

15. Setiap Anda mengubah atau memperbarui kode Anda, unggah kembali file tersebut, lalu muat ulang kode Anda:

pm2 restart main

Penutup

Bot Telegram dapat dikembangkan dengan fungsi-fungsi yang menarik. Anda dapat menggunakan data yang lebih banyak dan beragam untuk memberikan fungsi yang maksimal kepada pengguna Anda.