Telegram Bot Polling Kurulumu

0 Respuestas 2 Visitas
·
Participantes
Autor del tema #1
Telegram bot geliştirme sürecinde, kullanıcıların en temel ve en yaygın tercih ettiği yöntemlerden biri polling yöntemidir. Bu yöntem, botun sürekli olarak Telegram sunucularını sorgulamasıyla yeni güncellemeleri ve mesajları almasını sağlar. Peki, bu süreci adım adım nasıl kurabilir ve optimize edebilirsiniz? İşte detaylar:

İlk olarak, Telegram Bot API'sine erişim sağlamak için bir bot oluşturmanız gerekiyor. BotFather aracılığıyla yeni botunuzu kaydettikten sonra size bir API token verilir. Bu token ile botunuzu kod içerisinde tanımlayıp kullanmaya başlarsınız.

Polling yöntemi, botun sürekli olarak getUpdates metodunu çağırmasıyla çalışır. Bu sorgular, botun yeni mesajları ve komutları tespit etmesini sağlar. Temel mantık şu şekildedir:

  1. Sürekli Döngü Kurma: Bir while döngüsü içinde getUpdates çağrısı yaparsınız.
  2. Son Güncelleme ID'sini Takip Etme: Her çağrıda alınan güncellemelerden en yükseğini kaydetmek, tekrar tekrar aynı güncellemeleri almamak için önemli.
  3. Long Polling Kullanımı: timeout parametresi ile sunucunun belirli sürelerde cevap vermesini sağlarsınız. Bu, sürekli istek göndermenin önüne geçer ve kaynak kullanımını optimize eder.


Örnek Python kodu ile açıklayacak olursak:

CÓDIGO
123456789101112131415161718192021222324
import requests
import time

TOKEN = 'YOUR_BOT_TOKEN'
URL = f'https://api.telegram.org/bot{TOKEN}/'

def get_updates(offset=None, timeout=30):
    params = {'timeout': timeout, 'offset': offset}
    response = requests.get(URL + 'getUpdates', params=params)
    return response.json()

def main():
    update_id = None
    while True:
        updates = get_updates(offset=update_id)
        for update in updates['result']:
            update_id = update['update_id'] + 1
            # Burada mesajlara yanıt verme veya komut işleme yapılabilir.
            print(update)
        time.sleep(1)  # Sunucuya aşırı yüklenmeyi önlemek için kısa bir uyku

if [b]name[/b] == '[b]main[/b]':
    main()


Burada dikkat edilmesi gereken birkaç nokta var:
  • offset kullanımı, tekrar eden güncellemeleri engeller.
  • timeout parametresi ile uzun sorgulamalar yapabilir, böylece API çağrılarını azaltabilirsiniz.
  • Sürekli döngü içerisinde sleep fonksiyonunu kullanmak, sistemi yormadan botun istikrarlı çalışmasını sağlar.


Polling yöntemi, basit ve hızlı kurulum avantajı sunar. Ancak, yüksek trafik ve performans gerektiren uygulamalarda Webhook yöntemi tercih edilmelidir.

Bu temel yapı ile Telegram botunuzu stabil şekilde çalıştırabilir ve temel komutları veya mesajları işleyebilirsiniz.

Debes haber iniciado sesión para responder.

Usuarios que están viendo este tema (Total: 2, Miembros: 2, Invitados: 0)
Total: 2 (miembros: 2, invitados: 0)
0 citas seleccionadas