Önceki derste bir e-ticaret sitesinden fiyat çekmiştik. Bu derste bu fiyatı, python-telegram-bot gibi bir kütüphaneye ihtiyaç duymadan, doğrudan Telegram'ın HTTP API'sine istek atarak kendinize mesaj olarak göndereceğiz.
Chat ID'nizi Bulmak
BotFather'dan aldığınız bota bir mesaj gönderin (ör. "Merhaba"), ardından tarayıcınızdan şu adrese gidin (TOKEN'ı kendi bot token'ınızla değiştirin):
https://api.telegram.org/bot<TOKEN>/getUpdates
Dönen JSON içinde "chat":{"id": ...} kısmında kendi chat ID'nizi göreceksiniz — bu numarayı not edin.
Mesaj Göndermek
import requests
TOKEN = "BOT_TOKENINIZ"
CHAT_ID = "CHAT_ID_NIZ"
def mesaj_gonder(metin):
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
requests.post(url, data={"chat_id": CHAT_ID, "text": metin})
Bu yaklaşımın avantajı, herhangi bir kütüphane kurmadan sadece requests ile Telegram'a mesaj gönderebilmenizdir — Bot API'si aslında düz bir HTTP servisidir, python-telegram-bot gibi kütüphaneler bu servisin üzerine kurulu kolaylık katmanlarıdır.
Fiyat Botunu Tamamlamak
Önceki dersteki fiyat çekme fonksiyonuyla birleştirdiğinizde:
mesaj = f"📦 {isim}\n💰 {fiyat}"
mesaj_gonder(mesaj)
Sürekli Çalışan Bir Bot Haline Getirmek
import time
while True:
fiyat = fiyat_cek()
mesaj_gonder(f"Güncel fiyat: {fiyat}")
time.sleep(3600) # 1 saatte bir kontrol et
time.sleep(3600), döngünün her adımı arasında 1 saat (3600 saniye) beklemesini sağlar — çok sık istek atmak hem hedef siteyi gereksiz yormanıza hem de sitenin sizi geçici olarak engellemesine yol açabilir, bu yüzden makul bir bekleme süresi seçmek önemlidir.
Kalıcı Çalıştırma
Bu botu bilgisayarınızı kapatmadan sürekli çalıştırmak isterseniz, sıradaki derste göreceğimiz gibi bir bulut ortamında (ör. PythonAnywhere) 7/24 çalıştırabilirsiniz.
Sırada Ne Var?
Sırada, buraya kadar yazdığımız Python botlarını bilgisayarımızı kapatsak bile çalışmaya devam edecek şekilde bir bulut ortamında nasıl barındıracağımızı göreceğiz.