Public

Telegram Bot Nasıl Yapılır? (Adım Adım Çok Detaylı Rehber)

TheBoss
TheBoss Admin Efsane Üye
· Apr 6, 2026 at 5:48 PM · 11 views · 1 replies
Telegram Bot Nasıl Yapılır? (Adım Adım Çok Detaylı Rehber)

Telegram bot, Telegram içerisinde kullanıcılarla otomatik olarak etkileşime giren özel bir yazılımdır.
Bu botlar komutlara cevap verebilir, mesaj gönderebilir, ödeme bildirimi yapabilir, kanal veya grup yönetebilir, veri çekebilir, üyelik kontrol edebilir ve başka sistemlerle entegre çalışabilir.

Bu rehberde sıfırdan bir Telegram bot oluşturmayı, token almayı, API mantığını anlamayı, PHP ile ilk çalışan botu yazmayı ve botu canlıya almayı detaylı şekilde anlatacağız.


1) Telegram Bot Nedir?

Telegram bot, normal kullanıcı hesabı değildir.
Botlar özel hesaplar olarak çalışır ve telefon numarası gerektirmez.
Bir botun çalışması için:

•BotFather üzerinden bot oluşturulur
•Bot token alınır
•Sunucuda çalışan bir yazılım hazırlanır
•Bu yazılım Telegram Bot API ile iletişim kurar

Kısaca mantık şudur:

•Kullanıcı bota mesaj yollar
•Telegram bu olayı API üzerinden iletir
•Senin bot scriptin bu veriyi işler
•Bot tekrar kullanıcıya cevap gönderir




2) Telegram Bot Yapmak İçin Neler Gerekli?

Spoiler
•Bir Telegram hesabı
•Bot oluşturmak için @BotFather
•Bir hosting, VPS veya çalışan web sunucusu
•Temel düzey PHP veya Python bilgisi
•HTTPS destekli bir alan adı (özellikle webhook için önerilir)


Not:
Basit testler için polling yöntemi kullanılabilir.
Canlı kullanım için çoğu projede webhook daha doğru yöntemdir.


3) Telegram Bot Nasıl Oluşturulur?

Telegram’da @BotFather açılır.
BotFather, Telegram’ın resmi bot yönetim botudur.

Adımlar:

•Telegram uygulamasında @BotFather hesabını aç
/start komutunu gönder
/newbot yaz
•Bot için görünen adı belirle
•Bot için kullanıcı adı belirle
•Kullanıcı adı genelde bot ile bitmelidir
•İşlem tamamlanınca sana bir BOT TOKEN verilir

Bu token çok önemlidir.
Çünkü botunu API üzerinden kontrol eden ana anahtar budur.

Örnek token yapısı:
123456789:AAExampleTokenBurayaBenzerBirYapiGelir



4) Bot Token Neden Önemlidir?

Bot token, botun şifresi gibidir.
Bu token’i ele geçiren biri botunu kontrol edebilir.

Bu yüzden:

•Token’i açık kaynak paylaşma
•Forumda, ekran görüntüsünde veya videoda açık gösterme
•Kod içinde kullanıyorsan mümkünse ayrı config dosyasında tut
•Token sızarsa BotFather üzerinden yenile




5) Telegram Bot API Nedir?

Telegram Bot API, bot geliştiricilerin Telegram ile haberleşmesini sağlayan HTTP tabanlı resmi arayüzdür.

Yani botun, Telegram sunucularına istek atar.
Örneğin:

•Mesaj gönderir
•Gelen mesajları okur
•Fotoğraf yollar
•Butonlu mesaj gönderir
•Ödeme başlatır


En sık kullanılan metodlardan bazıları:

getMe → bot bilgilerini döndürür
getUpdates → gelen mesajları alır
sendMessage → mesaj gönderir
sendPhoto → fotoğraf gönderir
setWebhook → webhook adresi tanımlar


6) İlk Test: Bot Çalışıyor mu?

Bot token aldıktan sonra ilk test için tarayıcıdan şu yapıda istek atabilirsin:

https://api.telegram.org/botBOT_TOKEN/getMe


Örnek:
https://api.telegram.org/bot123456789:ABCDEF/getMe


Eğer her şey doğruysa Telegram JSON formatında bot bilgilerini döndürür.

Beklenen yapı buna benzer olur:
{
  "ok": true,
  "result": {
    "id": 123456789,
    "is_bot": true,
    "first_name": "My Test Bot",
    "username": "my_test_example_bot"
  }
}


Bu aşama önemlidir çünkü token’in geçerli olduğunu doğrular.


7) Bot ile Mesaj Göndermek

Botun bir kullanıcıya veya gruba mesaj göndermesi için chat_id gerekir.

Önce kullanıcı bota bir mesaj atmalıdır.
Daha sonra bu kullanıcıya ait chat_id alınabilir.

Mesaj gönderme örneği:
https://api.telegram.org/botBOT_TOKEN/sendMessage?chat_id=CHAT_ID&text=Merhaba


Burada:

BOT_TOKEN = bot token
CHAT_ID = mesaj gönderilecek kullanıcı veya grup kimliği
text = gönderilecek metin


8) Chat ID Nasıl Alınır?

En basit yöntem:

•Bota Telegram’dan mesaj gönder
•Sonra getUpdates isteği at
•Gelen JSON içinde chat alanını kontrol et
•chat > id kısmındaki sayı senin chat_id değerindir


Örnek:
https://api.telegram.org/botBOT_TOKEN/getUpdates


Gelen veride buna benzer bir yapı görürsün:
{
  "ok": true,
  "result": [
    {
      "update_id": 123456,
      "message": {
        "chat": {
          "id": 987654321,
          "first_name": "Oktay",
          "type": "private"
        },
        "text": "/start"
      }
    }
  ]
}


Buradaki 987654321 değeri chat_id olabilir.


9) Telegram Botlarda İki Ana Çalışma Mantığı

Telegram botları gelen güncellemeleri iki şekilde alır:

A) Polling / getUpdates
Bot belli aralıklarla Telegram’a “yeni mesaj var mı?” diye sorar.

Avantajları:

•Kurulumu kolaydır
•İlk testler için idealdir
•Hosting bilgisi az olanlar için rahattır

Dezavantajları:

•Sürekli sorgu attığı için verimsiz olabilir
•Büyük projelerde iyi ölçeklenmez
•Cevap süresi webhook kadar iyi olmayabilir


B) Webhook / setWebhook
Telegram, yeni mesaj gelince veriyi direkt senin URL’ne yollar.

Avantajları:

•Daha hızlıdır
•Daha verimlidir
•Canlı projelerde daha profesyonel çözümdür


Dezavantajları:

•HTTPS ve doğru sunucu kurulumu ister
•İlk başta ayarlaması polling’e göre daha zordur



10) Polling ile İlk Basit Bot Yapımı (PHP)

Aşağıdaki örnek, gelen mesajları okuyup kullanıcıya aynı mesajı geri yollar.
Bu bir echo bot mantığıdır ve başlangıç için en iyi örnektir.

<?php

$token = "BURAYA_BOT_TOKEN";
$api = "https://api.telegram.org/bot" . $token . "/";

function botRequest($method, $data = [])
{
    global $api;

    $ch = curl_init($api . $method);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    $result = curl_exec($ch);

    if (curl_errno($ch)) {
        die("cURL Hatası: " . curl_error($ch));
    }

    curl_close($ch);

    return json_decode($result, true);
}

$updates = botRequest("getUpdates");

if (!empty($updates['result'])) {
    foreach ($updates['result'] as $update) {
        $updateId = $update['update_id'] ?? 0;
        $message = $update['message']['text'] ?? '';
        $chatId = $update['message']['chat']['id'] ?? 0;

        if ($chatId && $message) {
            botRequest("sendMessage", [
                'chat_id' => $chatId,
                'text' => "Sen yazdın: " . $message
            ]);
        }

        botRequest("getUpdates", [
            'offset' => $updateId + 1
        ]);
    }
}
?>


Bu örnek mantığı öğretmek içindir.
Gerçek projede offset yönetimi daha düzenli yapılmalıdır.


11) Daha Sağlıklı İlk Kurulum (Webhook Yöntemi)

Webhook yönteminde Telegram, gelen mesajı senin belirlediğin URL’ye yollar.

Örnek webhook endpoint:
https://siteadresi.com/telegram/webhook.php


Webhook tanımlamak için:
https://api.telegram.org/botBOT_TOKEN/setWebhook?url=https://siteadresi.com/telegram/webhook.php


Webhook tanımlandıktan sonra Telegram yeni mesajları bu dosyaya POST eder.

Örnek webhook.php:

<?php

$token = "BURAYA_BOT_TOKEN";
$api = "https://api.telegram.org/bot" . $token . "/";

$input = file_get_contents("php://input");
$update = json_decode($input, true);

if (!$update) {
    exit;
}

$chatId = $update['message']['chat']['id'] ?? null;
$text   = $update['message']['text'] ?? '';

if ($chatId && $text) {
    $reply = "Mesajın alındı: " . $text;

    $postData = [
        'chat_id' => $chatId,
        'text'    => $reply
    ];

    $ch = curl_init($api . "sendMessage");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_exec($ch);
    curl_close($ch);
}
?>


Bu yapı, ilk canlı bot denemeleri için yeterlidir.

[hr]

12) Hostinger veya Paylaşımlı Hostingde Çalışır mı?

Evet, çoğu basit Telegram bot sistemi paylaşımlı hostingde çalışabilir.
Özellikle webhook mantığı ile çalışan küçük ve orta ölçekli botlar rahatlıkla kurulabilir.

Ancak şu durumlarda VPS daha mantıklıdır:
Spoiler
•Çok yoğun mesaj trafiği varsa
•Sürekli çalışan worker gerekiyorsa
•Queue sistemi kurulacaksa
•Ağır scraper veya otomasyon botu yapılacaksa




13) Bot Komutları Nasıl Tanımlanır?

Telegram’da bot komutları kullanıcıya öneri olarak gösterilebilir.
Bunun için BotFather üzerinden komut listesi eklenir.

Örnek komutlar:
start - Botu başlat
help - Yardım menüsü
about - Bot hakkında bilgi
price - Fiyat bilgisi
contact - İletişim


BotFather içinde:

•@BotFather aç
•/mybots yaz
•Botunu seç
•Edit Bot > Edit Commands yolunu izle
•Komutlarını satır satır gir



14) /start Komutu Nasıl Çalıştırılır?

Webhook veya polling içinde gelen mesajın /start olup olmadığını kontrol edersin.

Örnek:
if ($text === "/start") {
    $reply = "Merhaba, bota hoş geldin!";
} elseif ($text === "/help") {
    $reply = "Kullanılabilir komutlar: /start, /help, /about";
} else {
    $reply = "Komut anlaşılmadı.";
}


Bu şekilde komut bazlı bot mantığı kurulur.


15) Butonlu Mesaj Göndermek

Telegram botlar sadece düz yazı göndermek zorunda değildir.
İstersen özel klavye veya inline button kullanabilirsin.

Basit inline button örneği:
$keyboard = [
    'inline_keyboard' => [
        [
            ['text' => 'Web Sitemiz', 'url' => 'https://siteadresi.com']
        ]
    ]
];

$postData = [
    'chat_id' => $chatId,
    'text' => 'Aşağıdaki butona tıklayın:',
    'reply_markup' => json_encode($keyboard)
];


Bu yöntem satış botlarında, yönlendirme botlarında ve menü sistemlerinde çok kullanılır.


16) Kullanıcıdan Veri Almak

Bir bot ile kullanıcıdan:

•Ad
•Telefon
•Sipariş bilgisi
•Destek talebi
•Kod
•Ödeme dekontu

gibi veriler alınabilir.

Ama burada önemli olan şey:
Botun hangi kullanıcıdan hangi aşamada veri beklediğini takip etmesidir.

Bu yüzden gerçek projelerde genelde:

•Veritabanı tutulur
•Kullanıcının mevcut adımı kaydedilir
•Mesajlara buna göre cevap verilir

Örnek mantık:

•Kullanıcı /start der
•Bot “Adınızı yazın” der
•Kullanıcı adını gönderir
•Bot bunu veritabanına kaydeder
•Sonra “Telefon numaranızı yazın” der


Bu yapı state management mantığıdır.



17) Telegram Bot Veritabanı ile Nasıl Çalışır?

Gerçek projede çoğu bot veritabanı ile birlikte çalışır.

Kullanım örnekleri:
Spoiler
•Üyeleri kaydetme
•Satın alma kayıtları
•Ödeme bildirimleri
•Destek talepleri
•Kanal abonelik kontrolleri
•Premium kullanıcı yönetimi


En basit tablo örneği:
CREATE TABLE telegram_users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    telegram_id BIGINT NOT NULL UNIQUE,
    username VARCHAR(255) NULL,
    first_name VARCHAR(255) NULL,
    step VARCHAR(50) DEFAULT 'start',
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);


Bu sayede bot, kullanıcıyı tanır ve kaldığı yerden devam eder.


18) Telegram Bot ile Kanal Yönetimi Nasıl Yapılır?

Bir bot kanalda işlem yapacaksa genelde:

•Kanala admin olarak eklenir
•Mesaj gönderebilir
•Bazı yetkilere göre içerik yönetebilir


Örnek kullanım:

•Kanalda otomatik duyuru paylaşma
•Belirli saatte mesaj planlama
•RSS veya web sitesinden içerik çekip paylaşma
•Üyelik duyuruları gönderme


Not:
Botun kanalda veya grupta ne yapabileceği, verilen admin yetkilerine bağlıdır.



19) Telegram Bot ile Ödeme Bildirimi Sistemi

Çok kullanılan sistemlerden biridir.

Mantık:

•Web sitende ödeme oluşur
•Sistem ödeme durumunu kontrol eder
•Ödeme başarılıysa bot Telegram’a mesaj yollar
•Admin veya kullanıcı bilgilendirilir

Spoiler
Örnek kullanım alanları:

•E-ticaret sipariş bildirimi
•Premium üyelik ödeme bildirimi
•Kripto ödeme bildirimi
•Banka havalesi bildirim sistemi


Bunu PHP tarafından sendMessage ile kolayca yapabilirsin.


20) Telegram Bot ile Satış Sistemi Mümkün mü?

Evet.
Telegram bot ile ürün tanıtımı, sipariş toplama ve ödeme başlatma yapılabilir.
Telegram’ın resmi ödeme altyapısı da mevcut; botlar ödeme kabul edecek şekilde yapılandırılabiliyor.

Özellikle:

•Dijital ürün satışı
•Premium erişim satışı
•Kanal üyeliği
•Hizmet satışı

gibi alanlarda kullanılabilir.



21) Telegram Bot Güvenliği

Bot geliştirirken en çok ihmal edilen konu güvenliktir.

Dikkat edilmesi gerekenler:

•Bot token’i gizli tut
•Webhook URL’sini tahmin edilmesi zor yap
•Gelen veriyi doğrula
•SQL işlemlerinde PDO / prepared statement kullan
•Kullanıcıdan gelen verileri doğrudan sisteme basma
•Rate limit ve spam kontrolü düşün


Ayrıca loglama sistemi kurman çok önemlidir.

Örnek:
file_put_contents(
    __DIR__ . '/telegram_log.txt',
    date('Y-m-d H:i:s') . PHP_EOL . print_r($update, true) . PHP_EOL . "------------------" . PHP_EOL,
    FILE_APPEND
);


Bu sayede hata olduğunda ne geldiğini görürsün.



22) Telegram Botlarda Sık Yapılan Hatalar

Spoiler
•Yanlış token kullanmak
•Webhook URL’sinin çalışmaması
•SSL / HTTPS sorunu
•chat_id değerini yanlış almak
•JSON verisini yanlış okumak
•Grup ve kanal kimliklerini karıştırmak
•Botu kanala admin eklememek
•Sunucuda cURL kapalı olması


23) Bot Çalışmıyorsa Nasıl Kontrol Edilir?

Kontrol sırası:

getMe ile token doğru mu bak
getWebhookInfo ile webhook ayarlı mı kontrol et
•Webhook dosyasını tarayıcıda açıp 500 hata veriyor mu bak
•Sunucu loglarını kontrol et
•Gelen ham veriyi log dosyasına yazdır
•BotFather’dan token’i yenilemen gerekiyor mu bak


Faydalı kontrol isteği:
https://api.telegram.org/botBOT_TOKEN/getWebhookInfo




24) Polling mi Webhook mu?

Kısaca:

•Test ve öğrenme için polling
•Canlı kullanım ve performans için webhook


Eğer ilk kez yapıyorsan önce polling mantığını öğrenmen çok iyi olur.
Ama gerçek sistemde webhook daha profesyonel çözümdür.



25) Telegram Bot ile Neler Yapılabilir?

Spoiler
•Destek botu
•Satış botu
•Ödeme bildirim botu
•Kanal yönetim botu
•Dosya paylaşım botu
•Film / dizi botu
•Üyelik doğrulama botu
•AI destekli soru cevap botu
•Kripto sinyal botu
•Sipariş takip botu
•Form botu
•Anket botu


26) Öğrenme Sırası Nasıl Olmalı?

Sıfırdan başlayan biri için doğru sıra:
Spoiler
•Önce BotFather ile bot oluştur
•getMe ile token test et
•getUpdates ile mesaj okumayı öğren
•sendMessage ile cevap gönder
•/start ve /help komutlarını yaz
•Webhook’a geç
•Veritabanı bağla
•Butonlu menü kur
•Loglama ve hata yakalama ekle
•Gerçek projeye dönüştür


27) Sonuç

Telegram bot yapmak zor gibi görünse de temel mantık aslında basittir:
Mesajı al, işle, cevap ver.

Fakat iş büyüdükçe:

•veritabanı yönetimi
•kullanıcı akışı
•komut sistemi
•güvenlik
•loglama
•performans
gibi konular devreye girer.

Eğer bu rehberi doğru uygularsan:

•ilk botunu kurarsın
•mesaj alıp göndermeyi öğrenirsin
•daha sonra satış, ödeme, üyelik, AI ve otomasyon botlarına geçebilirsin


Devam konuları:

•Telegram Bot ile Kanal Yönetimi
•Telegram Otomatik Mesaj Botu
•Telegram Satış Botu Yapımı
•Telegram Ödeme Bildirim Botu
•Telegram Üyelik Kontrol Botu
•Telegram AI Bot (ChatGPT Botu)

Yukarıdaki konular sırası ile eklenicektir Takipte Kalınız.

Sorusu olanlar konu altına yazabilir.

Benzer Konular

Tümünü Gör

Replies (1)

MrV · 3h ago
Eline Sağlık
Signature
Hırsızlık yapmayın. Çünkü Yönetim rekabetten hoşlanmaz.

Log in to join the discussion

Log In