Python ile yazdığım programı telegramdan çalıştırma

Selamlar,
ben python ile bir program yazdım programı telegrama bağladım fakat istediğim şey benim telefonumdan gönderdiğim bir mesajla bilgisayarımda çalışan programın gerekli fonksiyonu çalıştırıp bana bilgi göndermesi.
onuda şu kodlarla yaptım ama doğru bir çalışma mantığı değil istediğim sonucu elde edemiyorum
>a=requests.post(“https://api.telegram.org/botxxx87:AAEnxxxx0kzu30VAVLk5119jxVj5k/getUpdates”)

b = a.text
zar= "çıktı"
c= b.split('"')
print(c)
for icindekiler in c:
    if icindekiler == "girdi":
        """ bu kısmı deneme olarak böyle yaptım"""
        DataForLink = {"text": zar}
        requests.post("https://api.telegram.org/bot" + Bot_Token +
              "/sendMessage?chat_id=" + Chat_ID ,
              data= DataForLink)

Bu kodun sorunları her mesajda html sayfasına bir mesaj ekleniyo yani ben bir kere “zar” yazdıysam program sürekli if=zar olarak algılıyo
ikinci olarak request i döngüye sokup sürekli sayfayı sorgutlamam gerekiyo buda bilgisayarı çok zorlar diye düşünüyorum
Özet olarak benim merhaba dememe karşılık merhaba diyen sonrasında nasılsın dediğimde merhaba ve nasılsını aynı anda yazdırmayan sadece merhaba diyen bir telegram botu eğer bunu yapabilirsem yazlımıma entegre edebilirim

Hangi HTML sayfasindan (API JSON degil miydi) bahsediyorsun, "zar"i nereye yazdin ve “if=zar” ne demek bilmiyorum ama API’de sadece son gordugunden beri gelen (=yeni) olaylari almanin yolu var, bir daha incele istersen. Olmadi API’i bir kutuphane araciligiyla tuketebilirsin.

Zorlamaz

Karsi tarafa veya network’e kibar olmak icin araya time.sleep koyabilirsin.

Bot mesaj aldikca cagrilan bir fonksiyon ve botun mesaj atmasi icin cagrilan ikinci bir fonksiyon yazarak baslayabilirsin. Hatta bunlari simdilik input ve print ile besleyip Telegram kismindan bagimsiz gelistirebilirsin.

1 Beğeni

Telegram botlarında güncellemeler iki şekilde alınır. Birincisi webhook yöntemi, diğeri de long polling yöntemi. Siz burada long polling yöntemini kullanmışsınız yani güncellemeleri sunucudan kendiniz talep etmişsiniz. Eğer bir güncelleme olduğu zaman sunucu sizi haberdar ediyorsa buna webhook yöntemi denir. Tabi webhook yöntemini kullanabilmek için bir sunucu adresiniz olmalı, ki telegram sunucuları size bu güncellemeleri gönderebilsin. Yerel bilgisayarınızı basitçe bir sunucu haline getirmek için ngrok kullanabilirsiniz. Ngrok programı size geçici bir domain verecektir. Bu domaini telegram apiye kendi botunuzun güncelleme alan adresi şeklinde kaydederseniz telegram botunuza gelecek her türlü mesaj sizin bu domaininize dolayısıyla bilgisayarınıza gelir. Tabi siz bu karışık işlemler yerine güncellemeleri kendiniz almak isteyebilirsiniz, gayet olumlu.

Telegram botlarını kullanarak geliştirme yapabilmek için internette bir sürü telegram bot kütüphanesi var ve ben de onları kullanmanızı tavsiye ederim. Ben şu an django ile kullanabileceğim django-tgbot kütüphanesini kullanıyorum ve pythonanywhere üzerinde tutuyorum ücretsiz bir şekilde. Ama django dışı normal programlarınızda kullanabileceğiniz python-telegram-bot kütüphanesi de var.

1 Beğeni