Telegram BotFather ile Özel Bot Oluşturma Rehberi
Telegram BotFather, platformun resmi bot oluşturma aracıdır ve kullanıcıların dakikalar içinde özel botlar geliştirmesine olanak tanır. Bu makalede, Telegram BotFather ile özel bot oluşturma sürecini adım adım inceleyecek; token yönetiminden komut ayarlarına, API entegrasyonundan güvenlik önlemlerine kadar her detayı ele alacağız. İster yeni başlayan ister deneyimli bir geliştirici olun, bu rehber size pratik ve uygulanabilir bilgiler sunacak.
BotFather Nedir ve Ne İşe Yarar?
BotFather, Telegram üzerinde yeni botlar oluşturmak ve mevcut botları yönetmek için kullanılan resmi bir bottur. Kullanıcılar, BotFather ile bot adı, kullanıcı adı, profil fotoğrafı, komut listesi ve açıklama gibi temel ayarları yapılandırabilir. Ayrıca, bot token'ını almak, botu silmek veya botun yetkilerini güncellemek gibi işlemler de BotFather üzerinden gerçekleştirilir. Bu araç, Telegram'ın Bot API'sinin temel yapı taşıdır ve tüm bot geliştiricileri için zorunlu bir başlangıç noktasıdır.
Bot Oluşturma Adımları
1. BotFather ile İletişime Geçme
Telegram uygulamasında @BotFather kullanıcı adını arayarak veya doğrudan t.me/BotFather bağlantısını kullanarak BotFather'a erişin. Mobil cihazlarda (iOS/Android) arama çubuğuna "@BotFather" yazmanız yeterlidir; masaüstü sürümde de aynı yöntem geçerlidir. İlk iletişimde BotFather size bir hoş geldiniz mesajı ve kullanılabilir komutların listesini gönderir. En önemli komut /newbot komutudur.
2. /newbot Komutunu Çalıştırma
Sohbet kutusuna /newbot yazın ve gönderin. BotFather size iki bilgi soracaktır:
- Bot Adı: Botunuzun kullanıcılara görünen adı. Örneğin "Hava Durumu Botu".
- Bot Kullanıcı Adı: Botunuzun benzersiz tanımlayıcısı; @ işareti ile kullanılır. Kullanıcı adı bot ile bitmek zorundadır, örneğin HavaDurumuBot veya hava_durumu_bot. En az 5 karakter olmalı ve yalnızca harf, rakam ile alt çizgi içerebilir.
Adımları tamamladığınızda BotFather, botunuzu Telegram sunucularına bağlayan bir API Token gönderecektir. Bu anahtarı gizli tutun; gerektiğinde /token komutuyla yeniden görüntüleyebilirsiniz.
3. Token Güvenliği ve Saklama
API Token botunuza tam erişim sağladığından, kimseyle paylaşmamalı ve kod deposunda (özellikle public repolarda) saklamamalısınız. En iyi uygulama, ortam değişkenleri (environment variables) kullanmaktır. Örneğin, Python'da os.getenv('BOT_TOKEN') ile token'ı güvenle alabilirsiniz. Token sızdırılırsa, hemen BotFather üzerinden /revoke komutuyla geçersiz kılabilirsiniz.
Uyarı: Bot token'ını asla mesajlarla göndermeyin veya herkese açık platformlarda paylaşmayın. Sızdırılan bir token kötü niyetli kişiler tarafından botunuzu ele geçirmek için kullanılabilir.
Bot Ayarlarını Yapılandırma
Komutların Tanımlanması
Botunuza özel komutlar eklemek için BotFather'a /setcommands komutunu gönderin. BotFather size botunuzu seçmenizi isteyecek, ardından komut listesini girmenizi bekleyecektir. Komutlar şu formatta girilir:
komut1 - Açıklama 1 komut2 - Açıklama 2 komut3 - Açıklama 3
Her komut bir satıra yazılır ve komut ile açıklaması arasında bir tire işareti bulunur. Komut adı küçük harf ve alt çizgi ile başlamalıdır; örneğin /start, /help, /hava_durumu. Bu liste, kullanıcıların sohbet kutusuna / yazdığında görebileceği öneri menüsünü oluşturur. Komutları dikkatli seçin, çünkü kullanıcı deneyimini doğrudan etkiler. Etkili bir komut seti, botunuzun işlevselliğini kullanıcıya net biçimde iletecektir.
Profil Fotoğrafı ve Açıklama Ekleme
BotFather ile botunuzun profil fotoğrafını değiştirmek için /setuserpic, açıklamasını değiştirmek için /setdescription ve hakkında kısmını düzenlemek için /setabouttext komutlarını kullanabilirsiniz. Profil fotoğrafı olarak 640×640 piksel boyutunda bir PNG veya JPEG dosyası önerilir. Açıklama kısmı, botunuzun ne işe yaradığını kısaca (maksimum 512 karakter) anlatmak için kullanılır. Bu bilgiler botunuzun keşfedilebilirliği açısından kritiktir; iyi yapılandırılmış bir profil, potansiyel kullanıcıların ilgisini çeker.
Botun Yetkilerini ve Gizlilik Ayarlarını Yönetme
BotFather üzerinden botunuzun gruplarda çalışmasına izin vermek için /setjoingroup ve /setprivacy komutları bulunur. /setprivacy komutu, botun gruplardaki tüm mesajları mı yoksa yalnızca kendisine atıfta bulunan mesajları mı göreceğini belirler. Varsayılan olarak gizlilik modu açıktır (bot yalnızca @ ile anıldığında mesajları alır). Gizlilik modunu kapatmak, botun gruptaki tüm mesajları görmesini sağlar, ancak bu durumda botun özel bilgilere erişme riski de artar. Ayarları uygulama gereksinimlerinize göre yapın, ancak genel kural olarak gizlilik modunu açık bırakmak önerilir.
İpucu: Botunuzu grup sohbetlerine eklemeden önce, BotFather üzerinden /setjoingroup komutu ile gruplara katılma iznini etkinleştirin. Aksi takdirde bot gruplara eklenemez.
API Entegrasyonu ve Botunuza Hayat Verme
Webhook ve Polling Arasında Seçim
Botunuzun mesajlara yanıt verebilmesi için Telegram sunucularından güncelleme alması gerekir. Bunun için iki ana yöntem vardır: webhook ve long polling. Webhook, Telegram'ın botunuzun sunucusuna belirli bir URL üzerinden POST isteği göndermesini sağlarken; polling, botunuzun düzenli aralıklarla Telegram API'sine yeni mesaj olup olmadığını sormasına dayanır. Webhook genellikle daha verimlidir, ancak herkese açık bir HTTPS sunucusu gerektirir. Küçük ölçekli botlar için polling yeterlidir. Her iki yöntem için de resmi kütüphaneler (python-telegram-bot, node-telegram-bot-api vb.) mevcuttur.
Token Kullanarak Bot API'sine Bağlanma
Python ile basit bir polling örneği aşağıda verilmiştir:
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
def start(update, context):
update.message.reply_text('Merhaba! Ben bir botum.')
def main():
updater = Updater(token='BOT_TOKEN', use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler('start', start))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
Bu kod, botu başlatır ve /start komutuna yanıt verir. BOT_TOKEN yerine BotFather'dan aldığınız token'ı yerleştirin. Kodu çalıştırdıktan sonra botunuz çevrimiçi hale gelir ve kullanıcılarla etkileşime geçebilir.
Bot Yönetimi ve Gelişmiş Özellikler
BotFather ile Botu Silme
Bir botu kalıcı olarak silmek için BotFather'a /deletebot komutunu gönderin. BotFather sizden bot kullanıcı adını isteyecek ve onayınızı alacaktır. Bu işlem geri alınamaz. Botu silmek yerine devre dışı bırakmak isterseniz, token'ını geçersiz kılabilir veya sunucuda çalışan bot kodunu durdurabilirsiniz.
Komutları ve Ayarları Güncelleme
BotFather ile daha önce ayarlanmış bir komutu değiştirmek için /editcommands komutunu kullanabilirsiniz. Bu komut, mevcut komut listesini düzenlemenize olanak tanır. Ayrıca /setcommands komutu, mevcut listeyi tamamen yenisiyle değiştirir. Botun adını değiştirmek için /setname, kullanıcı adını değiştirmek için /setusername komutları bulunur. Kullanıcı adı değişikliği, botun yeni bir @ etiketi almasına neden olur; eski kullanıcı adı başka biri tarafından alınabilir.
Botunuzu Telegram'a Kaydettirme (Bot Store)
Telegram'ın resmi bir bot mağazası yoktur. Ancak botunuzu tanıtmak için @BotSupport gibi resmi olmayan listeler veya kendi web siteniz gibi kanallar kullanabilirsiniz. Telegram, 2026 itibarıyla bot kataloğu için herhangi bir resmi duyuru yapmamıştır. Botunuzun kullanıcılar tarafından bulunması için etkili bir isim ve açıklama kullanmak en iyi yöntemdir. Bu sayede botunuz organik olarak daha geniş bir kitleye ulaşabilir.
Güvenlik ve En İyi Uygulamalar
Token Sızdırılması Durumunda Yapılacaklar
Token'ınızı yanlışlıkla herkese açık bir yerde paylaştığınızı fark ederseniz, hemen BotFather'a /revoke komutunu gönderin. Bu komut, mevcut token'ı geçersiz kılar ve yeni bir token oluşturmanızı sağlar. Yeni token aldıktan sonra bot kodunuzdaki token'ı güncellemeyi unutmayın.
Kullanıcı Verilerini Koruma
Botunuz, kullanıcılardan alınan mesajları ve kişisel verileri işleyebilir. Telegram Bot API, kullanıcı verilerini üçüncü taraflarla paylaşmamanızı şart koşar. Verileri şifreleyerek saklayın ve yalnızca gerekli olduğu sürece muhafaza edin. Ayrıca, botunuz GDPR veya KVKK gibi yasal düzenlemelere tabi ise, kullanıcılara veri işleme politikaları hakkında bilgi vermek için /privacy komutu ekleyebilirsiniz. Bu adım, kullanıcı güvenini artırmada etkili olacaktır.
Yaygın Sorunlar ve Çözümleri
Bot Yanıt Vermiyor
- Neden: Token yanlış olabilir, sunucu kapalı olabilir veya bot webhook modunda yanlış yapılandırılmış olabilir.
- Çözüm: BotFather'dan token'ı kontrol edin. Webhook kullanıyorsanız
/deleteWebhookAPI'sini çağırıp polling'e geçebilirsiniz. Sunucu günlüklerini inceleyin.
Bu adımları izleyerek sorunu teşhis edebilir ve botunuzu yeniden çalışır hale getirebilirsiniz.
Komutlar Çalışmıyor
- Neden: Komut listesi yanlış tanımlanmış olabilir veya bot kodunda ilgili işleyici bulunmuyor.
- Çözüm: BotFather'dan
/setcommandsile komutları yeniden tanımlayın. Kodda her komut için bir handler eklendiğinden emin olun.
Bu kontrolleri yaptıktan sonra komutlarınızın düzgün çalıştığını göreceksiniz.
Bot Gruplara Eklenemiyor
- Neden: BotFather'da gruplara katılma izni kapalı olabilir.
- Çözüm: BotFather'a
/setjoingroupgönderin ve botunuzu seçip izin verin.
Bu ayarı etkinleştirdikten sonra botunuzu gruplara ekleyebilirsiniz.
Uygulanabilir ve Uygulanamaz Senaryolar
| Senaryo | Uygulanabilir mi? | Açıklama |
|---|---|---|
| Basit bir sohbet botu | Evet | BotFather ile kolayca oluşturulabilir. |
| Müşteri hizmetleri botu (Kanal entegrasyonu) | Evet | Gelişmiş API kullanımı gerektirir. |
| Ödeme işleme botu | Sınırlı | Telegram Payments API kullanılabilir, ancak ek doğrulama gerekir. |
| Büyük ölçekli veri toplama botu | Hayır | Rate limit ve gizlilik sorunları nedeniyle önerilmez. |
Sıkça Sorulan Sorular
BotFather üzerinden bot oluşturmak ücretsiz mi?
Evet, Telegram BotFather ile bot oluşturmak tamamen ücretsizdir. Yalnızca bir Telegram hesabına ihtiyacınız var.
Birden fazla bot oluşturabilir miyim?
Evet. Aynı Telegram hesabıyla sınırsız sayıda bot oluşturabilirsiniz. Her bot için ayrı bir API token alırsınız.
Bot token'ımı unuttum, ne yapmalıyım?
BotFather'a /token komutunu gönderin ve botunuzu seçin. Token tekrar görüntülenecektir. Token'ı not edin veya güvenli bir yerde saklayın.
Botumu başka bir hesaba devredebilir miyim?
Hayır, resmi olarak bot sahipliğini devretmek mümkün değildir. Yeni hesap üzerinden yeni bir bot oluşturmanız gerekir.
Sonuç
Telegram BotFather, özel bot oluşturmayı herkes için erişilebilir kılan güçlü bir araçtır. Bu rehberde, bot oluşturma adımlarını, token yönetimini, komut ayarlarını ve API entegrasyonunu ayrıntılı olarak ele aldık. BotFather ile bot geliştirmeye başlamak için ihtiyacınız olan tüm bilgileri burada bulabilirsiniz. Unutmayın, botunuzu güvenli tutmak ve kullanıcı verilerini korumak en öncelikli hedefiniz olmalıdır. Şimdi, ilk botunuzu oluşturmak için @BotFather'a gidin ve /newbot komutuyla başlayın. Mutlu kodlamalar!
