iToverDose/Yazılım· 23 NISAN 2026 · 00:06

Telegram Bot'unu Yerel Olarak En Hızlı Şekilde Oluşturun

Telegram botları, otomasyon, müşteri hizmetleri ve entegrasyonlar için güçlü araçlardır. Yerel olarak Telegram'ın HTTP API'sini kullanarak, en yüksek hızı ve kontrolü elde edebilirsiniz.

DEV Community2 dk okuma0 Yorumlar

Telegram botları, otomasyon, müşteri hizmetleri ve entegrasyonlar için güçlü araçlardır. Yerel olarak Telegram'ın HTTP API'sini kullanarak, en yüksek hızı ve kontrolü elde edebilirsiniz. Bu yöntemde, python-telegram-bot gibi çerçeveler yerine, saf Python ve istekleri kullanarak bir bot oluşturabilirsiniz.

Gereksinimler

Başlamadan önce, aşağıdaki gereksinimlere sahip olduğunuzdan emin olun: Bir Telegram hesabı @BotFather'dan aldığınız Bot Token'i Python 3.8+'in kurulu olması

Telegram Bot API'sini Anlama

Telegram botları, HTTPS istekleri yoluyla adresine iletişim kurar. Ana yöntemler: getUpdates – Yeni mesajları al sendMessage – Kullanıcılara cevap ver setWebhook – Gerçek zamanlı güncellemeler için (isteğe bağlı)

Botu Oluşturma (Saf Python)

Adım 1: Kurulum ve Güncellemeleri Al TOKEN = "YOUR_BOT_TOKEN" BASE_URL = f"

def get_updates(offset=None):

url = f"{BASE_URL}/getUpdates" params = {"offset": offset, "timeout": 30} response = requests.get(url, params=params).json() return response.get("result", [])

Adım 2: Mesajları İşleme ve Cevap Verme def send_message(chat_id, text): url = f"{BASE_URL}/sendMessage" payload = {"chat_id": chat_id, "text": text} requests.post(url, json=payload)

def handle_updates(updates):

for update in updates: chat_id = update["message"]["chat"]["id"] text = update["message"].get("text", "") if text == "/start": send_message(chat_id, "\u2705 Bot çalışıyor!") elif text == "/ping": send_message(chat_id, "\u23f3 Pong!")

Adım 3: Botu Döngüde Çalıştırma def main(): offset = None while True: updates = get_updates(offset) if updates: handle_updates(updates) offset = updates[-1]["update_id"] + 1 if __name__ == "__main__": main()

Hız için Optimizasyon

a) Webhook Kullanma Polleme (getUpdates) gecikme oluşturur. Webhook'lar güncellemeleri anında iletir: WEBHOOK_URL = "

Webhook'u ayarla (bir kez çalıştır)

requests.get(f"{BASE_URL}/setWebhook?url={WEBHOOK_URL}")

b) httpx ile Asenkron İstek Yüksek hacimli botlar için: import httpx async def async_send_message(chat_id, text): async with httpx.AsyncClient() as client: await client.post( f"{BASE_URL}/sendMessage", json={"chat_id": chat_id, "text": text} )

c) Hız Sınırı İşleme Telegram, bot başına 30 mesaj/saniye hız sınırı koyar. Bir kuyruk uygulayın: from queue import Queue import threading message_queue = Queue()

def worker():

while True: chat_id, text = message_queue.get() send_message(chat_id, text) message_queue.task_done() threading.Thread(target=worker, daemon=True).start()

Kullanım: message_queue.put((chat_id, "Merhaba!"))

Gelişmiş Özellikler

a) İçten Bağlantılı Klavyeler def send_keyboard(chat_id): keyboard = { "inline_keyboard": [[ {"text": "Seçenek 1", "callback_data": "opt1"}, {"text": "Seçenek 2", "callback_data": "opt2"} ]] } payload = { "chat_id": chat_id, "text": "Seçiniz:", "reply_markup": dumps(keyboard) } requests.post(f"{BASE_URL}/sendMessage", json=payload)

b) Dosya Yükleme def send_photo(chat_id, photo_path): with open(photo_path, "rb") as photo: requests.post( f"{BASE_URL}/sendPhoto", files={"photo": photo}, data={"chat_id": chat_id} )

Dağıtım

a) Yerel Test ile Ngrok ngrok http 5000 # localhost:5000'i açığa çıkar b) Üretim (AWS Lambda + API Gateway)

lambda_function.py

def lambda_handler(event, context):

handle_updates([event["body"]]) return {"statusCode": 200}

Son Düşünceler Bu yerel yaklaşım, minimum gecikme ve tam kontrol sağlar. Ölçeklendirme için: Asenkron I/O (httpx, aiohttp) kullanın Redis ile durum yönetimini uygulayın Telegram'ın getWebhookInfo ile izleme yapın Şimdi hızlı bir şeyler yapın! ✅ Diğer Kaynaklar: Telegram Bot API Belgeleri Ngrok için Webhook AWS Lambda Dağıtım Kılavuzu ✅

Yapay zeka özeti

Discover how to create lightning-fast Telegram bots using Python’s requests library and Telegram’s HTTP API for maximum control and minimal latency.

Yorumlar

00
YORUM BIRAK
ID #4PSA45

0 / 1200 KARAKTER

İnsan doğrulaması

4 + 2 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.