BotFather hangi özellikleri sunar ve nasıl kullanılır?

BotFather Nedir ve Neden Kullanılır?
Telegram bot ekosisteminin temel taşı olan BotFather, resmi bir Telegram hesabıdır ve geliştiricilere bot oluşturma, yönetme ve yapılandırma imkânı sunar. BotFather'ın hangi özellikleri sunduğunu bilmek, bir botun yaşam döngüsünü anlamak için kritiktir: yeni bot kaydı, token yönetimi, bot profil bilgilerini düzenleme, komut listesi belirleme, inline mod, grup izinleri ve daha fazlası. Bu araç sayesinde herhangi bir kod yazmadan botunuzun temel ayarlarını yapabilir, ardından API entegrasyonuna geçebilirsiniz.
Ekip yöneticisi perspektifinden bakıldığında BotFather, dağıtım sürecini standartlaştırır. Takım üyelerinin bot ekleme/çıkarma yetkilerini merkezi bir noktadan yönetebilir, token güvenliğini sağlayabilir ve botunuzun kullanıcı deneyimini komutlar, açıklamalar ve profil fotoğrafıyla iyileştirebilirsiniz. Aşağıda her özelliği adım adım inceleyeceğiz.
BotFather'a Erişim ve Başlangıç
BotFather'a erişmek için Telegram uygulamasında @BotFather kullanıcı adını arayın ve sohbet başlatın. Masaüstü (Windows/macOS/Linux) ve mobil (iOS/Android) süreç aynıdır; fark yalnızca arayüz düzenindedir. Masaüstünde sol paneldeki arama çubuğunu, mobilde ise ana ekrandaki büyüteç simgesini kullanın.
Başlamak için /start komutunu gönderin. BotFather size hoş geldiniz mesajı ve kullanılabilir komutların listesini döndürecektir. Bu liste zamanla güncellenebilir; bu yazının yazıldığı tarihteki en son sürümde temel komutlar şunlardır: /newbot, /mybots, /setname, /setdescription, /setabouttext, /setuserpic, /setcommands, /setjoingroups, /setprivacy, /deletebot, /token, /revoke, /setinline, /setinlinegeo, /setinlinefeedback, /setdomain, /setgamescore, /setname, /setdescription.
Yeni Bot Oluşturma ve Token Yönetimi
/newbot ile Kayıt
Yeni bir bot oluşturmak için /newbot komutunu gönderin. BotFather sizden sırasıyla bir display name (görünen ad) ve bir username (kullanıcı adı) isteyecektir. Kullanıcı adı bot ile bitmeli ve benzersiz olmalıdır. Örneğin: ornek_bot gibi. Başarılı kayıt sonrası BotFather size bir HTTP API token’ı verecektir. Bu token botunuzun kimliğidir ve gizli tutulmalıdır.
Token güvenliği en kritik konulardan biridir. Token’ı açık kaynak kodunuzda, public repository’lerde veya istemci tarafında ifşa etmeyin. Eğer token sızarsa /revoke komutuyla eski token’ı iptal edip yenisini alabilirsiniz. Ayrıca /token komutuyla mevcut token’ı istediğiniz zaman görüntüleyebilirsiniz.
⚠️ Uyarı
Token’ı asla paylaşmayın. BotFather size token gönderdiğinde, bu mesajı sohbet geçmişinde saklamak yerine güvenli bir not defterine kopyalayın ve sohbeti silin. Ayrıca düzenli aralıklarla token’ı yenilemek iyi bir güvenlik alışkanlığıdır.
Bot Profili Düzenleme
Botunuzun adı, açıklaması, hakkında metni ve profil fotoğrafı gibi temel bilgileri BotFather üzerinden değiştirebilirsiniz. Bu ayarlar, kullanıcıların botunuzu keşfettiğinde göreceği ilk bilgilerdir ve güven oluşturmada kritik bir rol oynar.
Ad ve Açıklama Ayarları
- /setname – Botun görünen adını değiştirir. Örneğin: Hava Durumu Botu
- /setdescription – Botun kısa açıklamasını (birkaç cümle) belirler. Bu açıklama bot profili altında görünür.
- /setabouttext – “Hakkında” alanını düzenler. Daha uzun ve detaylı bilgi için kullanılır.
- /setuserpic – Profil fotoğrafı yükler. Tavsiye edilen boyut 640×640 piksel, kare format, PNG veya JPEG.
Mobil cihazlarda fotoğraf yüklerken galeri erişimi izni gerektiğini unutmayın. Masaüstünde ise dosya seçici açılır. Her iki platformda da işlem aynıdır: fotoğrafı seçin, BotFather’a gönderin ve onaylayın.
Komut Listesi Belirleme
Botunuzun kullanıcıların görebileceği komut menüsünü /setcommands ile tanımlayabilirsiniz. Bu, botunuzu kullanmayı kolaylaştırır ve keşfedilebilirliği artırır.
Komut listesini gönderirken her satıra komut_adı - açıklama formatında yazın. Örneğin:
start - Botu başlat help - Yardım menüsü hava - Hava durumu bilgisi al
Komut adları küçük harf, rakam ve alt çizgi içerebilir (a-z0-9_). En fazla 32 komut tanımlayabilirsiniz. Komutlar alfabetik sıralanır, bu nedenle sık kullanılanları başa koymak için adlandırma stratejisi kullanabilirsiniz (örn. 1_hava).
Grup ve Gizlilik Ayarları
/setjoingroups
Botunuzun gruplara eklenmesine izin verip vermeyeceğini belirler. Varsayılan olarak Enable durumdadır. Eğer botunuz yalnızca özel sohbetlerde çalışacaksa Disable yapabilirsiniz. Bu, spam botların gruplara eklenmesini engellemek için kullanışlıdır.
/setprivacy
Gizlilik modu, botun grup içinde yalnızca kendisine yöneltilen mesajları görmesini sağlar. Varsayılan olarak Enabled (gizlilik açık) gelir. Eğer botunuz gruptaki tüm mesajları okumak zorundaysa (örneğin bir moderasyon botu) bu ayarı Disabled yapmanız gerekir. Ancak gizlilik kapalıyken bot, gruptaki her mesajı alır; bu da API kullanım limitlerini etkileyebilir ve gereksiz veri akışına yol açabilir.
💡 İpucu
Gizlilik modunu kapattığınızda botunuzun gruptaki tüm mesajları işlemesi gerekir. Eğer botunuz yalnızca belirli komutlara yanıt veriyorsa, gizliliği açık tutmak daha verimlidir. Bu sayede bot yalnızca /komut içeren mesajları alır.
İleri Düzey Özellikler: Inline Mod, Webhook ve Domain
Inline Mod (setinline)
Botunuzu inline modda çalıştırarak kullanıcıların herhangi bir sohbette @botusername ile botu çağırmasına olanak tanıyabilirsiniz. /setinline komutuyla bu özelliği etkinleştirin. Ardından botunuzun inline sorguları işlemesi için API’da answerInlineQuery metodunu kullanmanız gerekir.
Inline mod, özellikle arama botları, alıntı botları veya sticker botları için popülerdir. Örneğin bir GIF botu, kullanıcı @gifbot kedi yazdığında inline sonuçlar sunar.
Webhook ve Domain Ayarı
Botunuzun güncellemeleri almak için long polling yerine webhook kullanmasını tercih ediyorsanız, /setdomain komutuyla webhook URL’inizi belirleyebilirsiniz. Bu komut, botunuzun domain adını BotFather’a kaydeder ve HTTPS zorunluluğunu hatırlatır. Webhook ayarı aslında API üzerinden setWebhook ile yapılır; BotFather’daki domain ayarı, yalnızca botunuzun hangi domainden geldiğini doğrulamak için kullanılabilecek bir meta bilgidir. (Bu özellik sınırlı sayıda geliştirici tarafından kullanılır; genellikle kod tarafında webhook yapılandırması yeterlidir.)
Birden Fazla Bot Yönetimi
Bir ekip içinde birden çok bot geliştiriyorsanız, /mybots komutuyla tüm botlarınızın listesini görebilir ve her birini yönetebilirsiniz. Bu komut size bot seçme menüsü sunar; seçtiğiniz botun token bilgisi, ayarları ve istatistikleri (güncel API kullanımı gibi) görüntülenir.
Ampirik gözlem: Birden fazla botu yönetirken her bot için ayrı notlar tutmak, token karmaşasını önler. BotFather’ın arayüzü her bot için ayrı bir ayar sayfası sunar, ancak toplu işlem yapılamaz. Bu nedenle botlarınızı adlandırırken tutarlı bir şema kullanmanız önerilir.
Bot Silme ve Geri Alma
Bir botu tamamen kaldırmak için /deletebot komutunu kullanın. Bu işlem geri alınamaz; botun kullanıcı adı ve token kalıcı olarak iptal edilir. Silinen botun kullanıcı adı tekrar kullanılamaz. Eğer yalnızca token’ı değiştirmek isterseniz /revoke yeterlidir.
En İyi Uygulamalar ve Güvenlik İpuçları
- Token’ı güvende tutun: Ortam değişkenleri (environment variables) kullanın, asla kod içine gömülü halde bırakmayın.
- Düzenli token yenileme: /revoke komutuyla periyodik olarak token değiştirin.
- Komut listesini sade tutun: Kullanıcıların kafasını karıştırmamak için en fazla 10-15 komut yeterlidir.
- Profil bilgilerini doldurun: /setdescription ve /setabouttext ile botun amacını net bir şekilde açıklayın.
- Gizlilik modunu ihtiyaca göre ayarlayın: Gereksiz yere kapatmayın; aksi halde bot gereksiz mesaj trafiği alır.
- Webhook kullanıyorsanız HTTPS şarttır: Kendi sertifikanızı veya Let’s Encrypt gibi ücretsiz sertifikaları kullanın.
- Inline mod için test edin: Kullanıcı deneyimini iyileştirmek için inline query’lerin hızlı ve doğru sonuç döndürdüğünden emin olun.
Sıkça Sorulan Sorular
BotFather üzerinden bot oluşturmak ücretli mi?
Hayır, BotFather tamamen ücretsizdir. Telegram bot API’sini kullanmak için herhangi bir ödeme yapmanız gerekmez.
Bir kullanıcı adı aldıktan sonra değiştirebilir miyim?
Evet, /setname ile botun görünen adını değiştirebilirsiniz. Ancak kullanıcı adı (username) bir kere alındıktan sonra değiştirilemez. Yeni bir bot oluşturmanız gerekir.
BotFather komutlarını Türkçe kullanabilir miyim?
BotFather komutları İngilizcedir ve yerelleştirilmemiştir. Ancak botunuzun açıklamalarını ve komut adlarını Türkçe olarak belirleyebilirsiniz.
Birden fazla botu aynı hesaba bağlayabilir miyim?
Evet, aynı Telegram hesabıyla istediğiniz kadar bot oluşturabilirsiniz. /mybots ile hepsini yönetebilirsiniz.
BotFather’dan aldığım token’ı kaybettim, ne yapmalıyım?
/mybots komutuyla botunuzu seçin ve “API Token” bölümünden token’ı tekrar görüntüleyin. Eğer hâlâ ulaşamıyorsanız /revoke ile token’ı sıfırlayıp yenisini alabilirsiniz.
Sonuç
BotFather, Telegram bot geliştirme sürecinin merkezinde yer alan güçlü ve kullanımı kolay bir araçtır. Bu rehberde bot oluşturma, token yönetimi, profil düzenleme, komut listesi, grup ayarları ve inline mod gibi temel ve ileri düzey özellikleri ele aldık.
Artık kendi botunuzu oluşturmaya hazırsınız. İlk adım olarak @BotFather ile sohbet başlatın ve /newbot komutunu deneyin. Ardından komut listesini belirleyin ve botunuzu test edin. Unutmayın: BotFather sadece başlangıçtır; botunuzun asıl işlevselliğini Telegram Bot API’sini kullanarak kodlayacaksınız. İyi geliştirmeler!