BotFather Nedir ve Neden Kullanılır?

Telegram'da BotFather ile özel bir bot oluşturmak, Telegram bot geliştirme serüveninin ilk ve en kritik adımıdır. BotFather, Telegram'ın resmî bot yönetim aracıdır; botlarınızı kaydetmek, yapılandırmak, API token’larını almak ve bot davranışlarını tanımlamak için kullanılır. Bir bot geliştiricisi olarak yapacağınız ilk işlem, BotFather üzerinden yeni bir bot oluşturup ona bir isim ve benzersiz bir kullanıcı adı vermektir. Ardından alacağınız HTTP API token’ı sayesinde botunuzu programlayabilir, mesaj gönderme, komutları işleme gibi işlevler kazandırabilirsiniz. Bu rehber, 2026 yılı itibarıyla geçerli olan BotFather iş akışlarını adım adım açıklamaktadır.

BotFather Nedir ve Neden Kullanılır?
BotFather Nedir ve Neden Kullanılır?

Adım Adım Bot Oluşturma

BotFather’a Ulaşma

BotFather’ı kullanmak için Telegram hesabınıza giriş yapmanız yeterlidir. Android, iOS, Windows, macOS veya web istemcisi fark etmeksizin, Telegram’ın arama çubuğuna @BotFather yazıp ilgili sohbeti açabilirsiniz. BotFather’ın size göstereceği komut listesini görmek için /start komutunu gönderin. Karşınıza tüm yönetim komutlarının açıklamaları çıkacaktır.

Yeni Bot Oluşturma Komutu

BotFather ile sohbette /newbot yazın. BotFather sizden sırasıyla bir bot adı (son kullanıcının göreceği, örneğin “Hava Durumu Botu”) ve bir kullanıcğı adı (benzersiz olmalı ve _bot ile bitmeli, örn. hava_durumu_bot) isteyecektir. Kullanıcı adı alınmışsa farklı bir ad denemelisiniz. Başarılı olursanız BotFather size bir HTTP API token’ı ve botunuzun Telegram’daki kullanıcı adı profili linkini gönderecektir. Bu token’ı güvenli bir yerde saklayın; botunuzun API’ye erişim anahtarıdır.

Uyarı: Bot token’ınızı kimseyle paylaşmayın. Token ele geçirilirse, kötü niyetli kişiler botunuzu kontrol edebilir. Şifrelenmiş çevre değişkenlerinde saklamak en iyi uygulamadır.

Bot Token Yönetimi

Bot oluşturulduktan sonra token’ı her an yeniden alabilirsiniz. Bunun için BotFather’a /token komutunu gönderip listeden botunuzu seçin. Yeni bir token oluşturmak isterseniz aynı menüden “Revoke current token” seçeneğini kullanın. Bu işlem eski token’ı geçersiz kılar ve yeni bir tane üretir, bu nedenle kodunuzdaki token’ı güncellemeyi unutmayın. Bir botun aynı anda yalnızca bir geçerli token’ı olabilir.

Komut Tanımlama

Botunuzun kullanıcıların görebileceği komut listesini tanımlamak için /setcommands komutunu kullanın. BotFather’dan botunuzu seçtikten sonra, her satıra bir komut ve açıklamasını yazmanız istenir. Format şöyledir:

start - Hoş geldin mesajını göster
help - Yardım menüsünü aç
weather şehir - Belirtilen şehrin hava durumunu ver

Her komut küçük harfle başlamalı ve tireden sonra bir boşluk ile açıklama gelmelidir. Komutlar en fazla 32 karakter olabilir ve sadece harf, rakam ve alt çizgi içerebilir. Açıklamalar 256 karakteri geçmemelidir. Bu listeyi istediğiniz zaman güncelleyebilirsiniz.

Kullanıcı Deneyimi İçin İpuçları

Komutlarınızı açık ve eyleme dönük olarak tanımlayın. Örneğin “/start” için “Botu başlatır” yerine “Hoş geldin mesajını göster” daha bilgilendiricidir. Aynı şekilde, parametre alan komutlarda parametreyi açıklamaya ekleyin (örn. weather şehir). Telegram istemcisi bu listeyi sohbet kutusunun üstünde otomatik olarak gösterir, böylece kullanıcı ne yazacağını hemen bilir.

Bot Ayarları: Açıklama, Profil Resmi, Gizlilik

Bot Açıklaması (Description ve About)

BotFather üzerinden /setdescription komutu ile botunuzun kısa bir açıklamasını belirleyebilirsiniz. Bu metin, botun profiline yeni başlayan kullanıcılara gösterilir. /setabouttext ise botun “Hakkında” bölümü için kullanılır. İkisi de 512 karakteri geçmemelidir. Özellikle description alanı, botunuzun amacını ve temel komutlarını açıklamak için idealdir.

Profil Resmi Ayarlama

Botunuzun görsel kimliği için /setuserpic komutunu kullanın. BotFather’dan botunuzu seçtikten sonra bir fotoğraf veya PNG/JPG dosyası göndermeniz yeterlidir. Tavsiye edilen boyut 512x512 piksel ve kare formattır. Profil resmi değiştirmek istediğinizde aynı komutla güncelleyebilirsiniz.

Gizlilik Modu (Privacy Mode)

BotFather’daki /setprivacy komutu, botunuzun grup sohbetlerinde yalnızca kendisini hedefleyen mesajları mı yoksa tüm mesajları mı göreceğini belirler. Varsayılan olarak gizlilik modu açıktır (bot sadece komut içeren mesajları görür). Eğer botunuz grup içindeki tüm metinleri analiz etmek istiyorsa (örn. bir moderasyon botu), gizlilik modunu kapalı olarak ayarlamanız gerekir. Bunun için /setprivacy komutunda botunuzu seçip “Disable” seçeneğini işaretleyin.

İpucu: Gizlilik modu kapalıyken botunuz grup içindeki her mesajı alır. Bu durum, API istek limitlerinizi hızla doldurabilir. Sadece gerçekten ihtiyacınız varsa kapatın.

Inline Mod ve Join Groups Ayarları

Inline Mode

Botunuzun herhangi bir sohbette @kullaniciadi yazılarak çağrılmasını istiyorsanız /setinline komutunu kullanın. Bu özellik, botunuzu kullanıcıların diğer sohbetlerde de kullanabilmesini sağlar. Inline mod etkinleştirildiğinde botunuzun bir yer tutucu metin girmeniz istenir; örneğin “Bir şehir adı yazın”. Bu metin, kullanıcı @botadı yazdığında görülen ilk çıktıdır. Inline sorguları işlemek için botunuzun answerInlineQuery API metodunu uygulaması gerekir.

Gruplara Ekleme İzni

/setjoingroups komutu, botunuzun gruplara eklenip eklenemeyeceğini kontrol eder. Varsayılan olarak Enabled (açık)’tır. Botunuzu yalnızca bireysel sohbetlerde kullanacaksanız bu ayarı Disabled yapabilirsiniz.

Sorun Giderme: Yaygın Hatalar

Token Bulunamıyor

En sık karşılaşılan sorunlardan biri token’ın kaybedilmesidir. Çözüm için BotFather’a /token gönderip botunuzu seçin. Eski token’ı göreceksiniz. Hala bulamıyorsanız “Revoke” ile yeni token alın.

Token Bulunamıyor
Token Bulunamıyor

Bot Yanıt Vermiyor

Botunuzu yeni oluşturduysanız ve çalıştırdığınız kod token’ı doğru kullanıyor ancak yanıt alamıyorsanız, öncelikle botunuzun internete erişimini kontrol edin. Ayrıca Telegram API’nin getUpdates endpoint’ine doğru şekilde bağlandığınızdan emin olun. Webhook kullanıyorsanız SSL sertifikasının geçerli olduğunu doğrulayın.

Komut Listesi Güncellenmiyor

BotFather üzerinden /setcommands ile yeni komutlar ekledikten sonra değişikliklerin tüm kullanıcılarda görünmesi birkaç dakika alabilir. Eğer hemen görünmüyorsa Telegram istemcisini yeniden başlatmayı deneyin. Ayrıca botunuzu sohbetten çıkarıp tekrar eklemek de listeyi tazeleyebilir.

Uygulanabilir ve Uygulanamaz Senaryolar

BotFather ile oluşturduğunuz botlar her türlü projede kullanılabilir: anket botu, RSS takipçisi, müşteri destek botu, dosya yönetimi, oyun botu vb. Ancak BotFather’ın kendisi bazı sınırlamalar getirir:

  • Bot kullanıcı adı _bot ile bitmelidir (zorunlu).
  • Bir bot aynı anda en fazla 100 komut tanımlayabilir.
  • Bot hesabı sohbet başlatamaz, kullanıcının ilk mesajı atması gerekir (gizlilik modu açıkken).
  • Botlar dosya gönderebilir ancak depolama alanı sınırı yoktur; her dosya Telegram sunucularında kalıcı olarak saklanır.

Eğer botunuzun yüksek hacimli mesaj göndermesi gerekiyorsa (50+ mesaj/saniye), Telegram API’nin rate limitlerini aşmamak için botunuzun sendMessage çağrılarını uygun şekilde gecikmeli yapması gerekir. Ayrıca, botunuzun sürekli çalışması gerekiyorsa bir sunucuda barındırmanız şarttır.

En İyi Uygulamalar Kontrol Listesi

  • Token güvenliği: Token’ı asla kod içinde açık metin olarak tutmayın; çevre değişkeni veya güvenli bir yapılandırma servisi kullanın.
  • Komutları açık ve tutarlı tanımlayın: Yanlış anlaşılmayı önlemek için her komutun açıklamasında parametreleri belirtin.
  • Gizlilik modunu gereksiz yere kapatmayın: Sadece grup mesajlarını analiz etmeniz gerekiyorsa kapatın; aksi halde API kotalarınızı tüketir.
  • Bot açıklamasını güncel tutun: Yeni özellikler ekledikçe /setdescription ve /setabouttext ile bilgileri yenileyin.
  • Webhook kullanıyorsanız SSL zorunludur: Telegram yalnızca HTTPS üzerinden webhook kabul eder. Let’s Encrypt ücretsiz sertifika sağlar.
  • Loglama yapın: Botunuzun aldığı tüm hataları bir yere kaydedin; böylece sorunları hızla tespit edebilirsiniz.
  • Rate limitlere karşı hazırlıklı olun: Döngülerde time.sleep veya asyncio.sleep ekyerek istekleri yavaşlatın.
  • Botunuzu test edin: Canlıya almadan önce bir test grubu oluşturup botunuzu orada deneyin.

Bu kontrol listesi, botunuzu kararlı ve güvenli şekilde çalıştırmanız için temel adımları özetler. Her bir maddeyi uyguladığınızda olası sorunların çoğunu önceden engellemiş olursunuz.

Sıkça Sorulan Sorular

BotFather’a nasıl erişirim?

Telegram’da arama çubuğuna @BotFather yazın ve sohbeti açın. Ardından /start komutunu gönderin. Tüm komutları göreceksiniz.

Bot token’ımı kaybettim, ne yapmalıyım?

BotFather’a /token gönderip botunuzu seçin. Eski token’ı görüntülersiniz. İsterseniz “Revoke current token” seçeneğiyle yeni token alabilirsiniz.

Botumu nasıl silebilirim?

BotFather’a /deletebot komutunu gönderip botunuzu seçin. Bu işlem geri alınamaz. Token’ı geçersiz kılınır ve bot profili silinir.

Komutlarım neden çalışmıyor?

Komutların çalışması için botunuza kod yazmalı ve bu komutları işlemelisiniz. BotFather yalnızca komut listesini tanımlar; işlevselliği siz sağlarsınız. Ayrıca komut adının doğru yazıldığını ve gizlilik modunun uygun olduğunu kontrol edin.

Inline modu nasıl etkinleştiririm?

BotFather’a /setinline gönderin, botunuzu seçin ve bir yer tutucu metin girin. Daha sonra botunuzun API kodunda answerInlineQuery metodunu uygulamanız gerekir.

Sonuç

BotFather, Telegram bot ekosisteminin merkezinde yer alan güçlü bir araçtır. Bu rehberde öğrendiğiniz adımları takip ederek botunuzu oluşturabilir, komutlarını tanımlayabilir, ayarlarını yapılandırabilir ve yaygın sorunları giderebilirsiniz. Sıradaki adım, botunuz için bir programlama dili (Python, Node.js, Go, vb.) seçip Telegram Bot API’sini kullanarak kodlamaya başlamaktır. Resmî Telegram Bot API dokümantasyonu, başvuracağınız en temel kaynaktır. Botunuzu test ederken mutlaka bir test grubu kullanın ve canlıya almadan önce tüm senaryoları kontrol edin. Başarılı bot geliştirmeler!