Dengan semakin populernya penggunaan bot di platform seperti Telegram, semakin banyak pula peluang untuk mengembangkan aplikasi yang dapat membantu pengguna. Salah satu aplikasi yang menarik adalah bot yang dapat membantu pengguna menemukan tempat makan menggunakan Yelp Fusion API. Pada artikel ini, kita akan membahas langkah-langkah untuk menghubungkan bot Telegram dengan Yelp Fusion API agar Anda bisa menemukan tempat makan dengan lebih mudah.
1. Persyaratan Awal
Sebelum memulai, pastikan Anda telah memenuhi persyaratan berikut:
- Akun Telegram dan aplikasi Telegram terinstal.
- Akun Yelp dan akses ke Yelp Fusion API.
- Pengetahuan dasar tentang pemrograman, khususnya bahasa pemrograman Python.
- Beberapa pustaka Python yang diperlukan seperti
python-telegram-bot
danrequests
.
2. Mendaftar untuk Yelp Fusion API
Langkah pertama adalah mendaftar untuk mendapatkan akses ke Yelp Fusion API.
- Buka situs Yelp Developer dan buat akun jika Anda belum memiliki satu.
- Setelah mendaftar, kunjungi bagian "Create App" untuk membuat aplikasi baru.
- Isi formulir yang diperlukan dan setelah itu Anda akan mendapatkan API Key yang akan digunakan dalam kode Anda.
3. Membuat Bot Telegram
Setelah akun Yelp Anda siap, langkah berikutnya adalah membuat bot di Telegram.
- Buka aplikasi Telegram dan cari bot bernama BotFather.
- Kirim pesan
/newbot
untuk memulai proses pembuatan bot baru. - Ikuti petunjuknya untuk memberikan nama dan username untuk bot Anda.
- Setelah selesai, Anda akan mendapatkan token API bot yang akan digunakan dalam kode Anda.
4. Instalasi Pustaka Python yang Diperlukan
Pastikan Anda telah menginstal pustaka yang diperlukan dengan menjalankan perintah berikut di terminal:
pip install python-telegram-bot requests
5. Mengatur Kode Bot
Sekarang kita dapat mulai menulis kode untuk bot kita. Di bawah ini adalah contoh kode sederhana untuk menghubungkan bot Telegram dengan Yelp Fusion API.
import logging
import requests
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
# Atur logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
# Ganti token_bot_anda dengan token bot Telegram
TOKEN = 'token_bot_anda'
# Ganti api_key_yelp_anda dengan API Key Yelp
YELP_API_KEY = 'api_key_yelp_anda'
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Halo! Kirim perintah /find untuk menemukan tempat makan.')
def find_place(update: Update, context: CallbackContext) -> None:
if len(context.args) < 1:
update.message.reply_text('Tolong berikan nama atau jenis makanan yang ingin Anda cari setelah perintah /find.')
return
# Ambil argumen pencarian
search_query = ' '.join(context.args)
# URL untuk mengakses Yelp Fusion API
yelp_url = 'https://api.yelp.com/v3/businesses/search'
headers = {
'Authorization': f'Bearer {YELP_API_KEY}',
}
params = {
'term': search_query,
'location': 'Indonesia', # Ganti dengan lokasi yang diinginkan
'limit': 5
}
# Mengirim permintaan ke Yelp API
response = requests.get(yelp_url, headers=headers, params=params)
if response.status_code == 200:
data = response.json()
businesses = data.get('businesses')
if businesses:
response_message = 'Tempat makan yang ditemukan:\n\n'
for business in businesses:
response_message += f"Nama: {business['name']}\n"
response_message += f"Alamat: {', '.join(business['location']['display_address'])}\n"
response_message += f"Rating: {business['rating']}\n"
response_message += f"Link: {business['url']}\n\n"
update.message.reply_text(response_message)
else:
update.message.reply_text('Tidak ada tempat yang ditemukan.')
else:
update.message.reply_text('Terjadi kesalahan saat menghubungi Yelp API.')
def main():
# Inisialisasi Updater dan Dispatcher
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher
# Tambahkan handler untuk perintah
dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(CommandHandler('find', find_place))
# Mulai bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
6. Menjalankan Bot
Setelah Anda selesai menulis kode, simpan file dengan ekstensi .py
, misalnya, yelp_telegram_bot.py
. Kemudian jalankan script tersebut menggunakan terminal:
python yelp_telegram_bot.py
Bot akan mulai beroperasi. Anda dapat mencarinya di Telegram dengan username yang telah Anda pilih sebelumnya dan mengirimkan perintah /start
untuk memulai. Setelah itu, Anda bisa mencari tempat makan dengan menggunakan perintah /find
diikuti dengan nama makanan yang Anda inginkan.
7. Pengujian dan Debugging
Setelah menjalankan bot, lakukan pengujian dengan berbagai jenis perintah dan cek apakah bot merespons dengan benar. Pastikan semua informasi yang ditampilkan relevan dan akurat. Jika Anda menghadapi masalah, periksa log yang dihasilkan oleh bot untuk membantu menemukan kesalahan.
8. Penutup
Menghubungkan bot Telegram dengan Yelp Fusion API memungkinkan Anda untuk menyediakan informasi terkait tempat makan dengan mudah dan cepat. Dengan mengikuti langkah-langkah di atas, Anda sudah memiliki bot dasar yang dapat dikembangkan lebih lanjut untuk mencakup lebih banyak fitur, seperti filter berdasarkan lokasi yang lebih spesifik, jenis makanan, atau penilaian.
Selamat mencoba dan semoga sukses dalam proyek bot Anda!