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:

sudo apt update

3. Lakukan upgrade VPS Anda:

sudo apt upgrade -y

4. Pasang pip:

sudo apt install python3-pip -y

5. Pasang pyTelegramBotApi:

pip install pyTelegramBotApi

6. Unduh nodejs versi terbaru, saat ini kami gunakan versi 22:

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

7. Pasang nodejs v.18:

sudo apt install nodejs -y

8. Pasang dan perbarui npm:

sudo npm install -g npm@latest

9. Pasang pm2:

sudo 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:

sudo pm2 start main.py

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

sudo pm2 startup systemd
sudo pm2 save

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

sudo pm2 restart id

Atau:

sudo pm2 restart name

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.




Baca Juga



masyarakat

Alamat

Jl. Rompok Raya 76
Sematang Borang
Palembang
Indonesia