Pada era digital saat ini, informasi merupakan hal yang sangat berharga, termasuk informasi harga minyak dunia. Dalam panduan ini, kita akan membahas langkah demi langkah cara membuat bot Telegram sederhana yang akan memberikan notifikasi harga minyak dunia menggunakan Python. Mari kita mulai!
Prerequisites
Sebelum memulai, pastikan Anda memiliki beberapa hal berikut:
- Akun Telegram: Anda memerlukan akun Telegram untuk membuat bot dan menerima notifikasi.
- Python: Pastikan Python (versi 3.x) sudah terinstal di komputer Anda.
- Library Python: Kita akan menggunakan library
python-telegram-bot
untuk berinteraksi dengan Telegram, danrequests
untuk mengambil data harga minyak.
Langkah 1: Buat Bot Telegram
-
Cari BotFather di Telegram:
- Buka aplikasi Telegram dan cari BotFather.
-
Buat Bot Baru:
- Kirim pesan
/newbot
ke BotFather. - Ikuti instruksi untuk memberi nama dan username bot Anda.
- Setelah selesai, Anda akan mendapatkan token API. Simpan token ini karena akan digunakan dalam kode Python kita nanti.
- Kirim pesan
Langkah 2: Instalasi Library yang Dibutuhkan
Buka terminal atau command prompt dan jalankan perintah berikut untuk menginstal library yang diperlukan:
pip install python-telegram-bot requests
Langkah 3: Ambil Data Harga Minyak
Kita akan menggunakan API untuk mendapatkan data harga minyak. Salah satu sumber data yang bisa digunakan adalah API dari https://www.oilpriceapi.com/
. Anda perlu mendaftar untuk mendapatkan kunci API.
Contoh Kode untuk Mengambil Data
Berikut adalah contoh kode untuk mengambil data harga minyak:
import requests
def get_oil_price():
url = "https://api.oilpriceapi.com/v1/prices/latest" # Ganti dengan URL yang sesuai
headers = {
'Authorization': 'Token YOUR_API_KEY' # Ganti dengan kunci API Anda
}
response = requests.get(url, headers=headers)
data = response.json()
return data['data']['price']
Pastikan untuk mengganti YOUR_API_KEY
dengan kunci API yang Anda dapatkan dari pendaftaran.
Langkah 4: Membuat Bot Telegram untuk Notifikasi
Sekarang kita akan membuat fungsi yang mengirimkan notifikasi ke pengguna Telegram ketika harga minyak diperbarui.
Contoh Kode Bot Telegram
from telegram import Bot
from telegram.ext import Updater, CommandHandler, CallbackContext
from telegram.update import Update
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
# Token API Bot Telegram Anda
TELEGRAM_API_TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN' # Ganti dengan token bot Anda
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Hai! Saya Bot Notifikasi Harga Minyak. Ketik /price untuk melihat harga minyak.')
def send_oil_price(update: Update, context: CallbackContext) -> None:
price = get_oil_price()
update.message.reply_text(f'Harga minyak dunia saat ini adalah {price} USD.')
def main():
updater = Updater(TELEGRAM_API_TOKEN)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("price", send_oil_price))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
Pastikan Anda mengganti YOUR_TELEGRAM_BOT_TOKEN
dengan token yang Anda dapatkan dari BotFather.
Langkah 5: Menjalankan Bot
Setelah semua kode siap, Anda dapat menjalankan bot dengan menggunakan perintah berikut pada terminal:
python bot.py
Gantilah bot.py
dengan nama file Python Anda jika berbeda.
Langkah 6: Berinteraksi dengan Bot
- Buka Telegram dan cari bot Anda dengan nama yang telah Anda tentukan pada langkah 1.
- Mulai percakapan dengan mengirimkan perintah
/start
. - Kemudian, kirimkan perintah
/price
untuk mendapatkan harga minyak dunia saat ini.
Langkah 7: Menjadwalkan Notifikasi Rutin
Untuk mengirimkan notifikasi secara rutin, Anda dapat menggunakan schedule
library. Instal terlebih dahulu menggunakan perintah:
pip install schedule
Contoh Kode Menjadwalkan Notifikasi
Berikut ini adalah contoh cara menjadwalkan pengiriman notifikasi setiap 1 jam:
import schedule
import time
def job():
# Tambahkan kode untuk mengirimkan notifikasi harga minyak
price = get_oil_price()
# Kirimkan pesan ke chat ID Anda
bot.send_message(chat_id='YOUR_CHAT_ID', text=f'Harga minyak dunia saat ini adalah {price} USD.')
# Menjadwalkan tugas setiap 1 jam
schedule.every(1).hours.do(job)
while True:
schedule.run_pending()
time.sleep(1)
Gantilah YOUR_CHAT_ID
dengan chat ID dari bot Anda atau ID grup di mana Anda ingin menerima notifikasi.
Kesimpulan
Anda sekarang telah berhasil membuat bot Telegram sederhana yang memberikan notifikasi harga minyak dunia menggunakan Python. Dengan mengikuti langkah-langkah di atas, Anda dapat memperluas fungsionalitas bot ini atau menerapkannya pada jenis data lainnya. Selamat mencoba dan jangan ragu untuk berinovasi lebih lanjut dengan bot Anda!