BotFather ile Telegram Botu Oluşturma Adımları
Telegram'da bir bot oluşturmak için resmi asistan @BotFather'ı bulmanız, /newbot komutunu göndermeniz, bir isim ve benzersiz bir kullanıcı adı (kullanıcı adı bot ile bitmelidir) seçmeniz ve ardından verilen API token'ını kaydetmeniz gerekir. Bu token, botu kod aracılığıyla yönetmek için anahtardır. Tüm kayıt işlemi 5 dakikadan fazla sürmez ve erişim sağlama aşamasında programlama becerisi gerektirmez.
Sonraki adım, alınan token'ı kullanarak kullanıcı isteklerini işleyecek herhangi bir popüler dilde (Python, Node.js, PHP vb.) bir betik yazmaktır.
İçindekiler
Hazırlık: Başlamadan Önce Bilmeniz Gerekenler
BotFather ile iletişime geçmeden önce projenizin amacını belirleyin. Bir bot basit bir bildirim aracı, karmaşık bir müşteri destek sistemi veya bir oyun olabilir.
İhtiyacınız olanlar:
- Aktif bir Telegram hesabı.
- İşlevsellik fikri (botun tam olarak ne yapması gerektiği).
- Kodun nerede barındırılacağına dair temel anlayış (testler için yerel bilgisayar veya sürekli çalışma için bulut sunucu).
Hemen "Facebook katili" yaratmaya çalışmayın. Minimum uygulanabilir ürün (MVP) ile başlayın: /start komutuna sadece "Merhaba" yanıtı veren bir bot. Bu, gereksiz stres olmadan mekanizmayı anlamınıza yardımcı olacaktır.
BotFather'da Bot Kaydı
BotFather, Telegram'da diğer botları oluşturmak ve yönetmek için tek resmi bottur. Sahte kopyalar mevcuttur, bu nedenle @BotFather hesabında mavi doğrulama tikinin bulunduğundan her zaman emin olun.
Kayıt İçin Adım Adım Algoritma
- Telegram arama kısmında @BotFather'ı bulun ve "Başlat" düğmesine basın (veya
/startkomutunu gönderin). /newbotkomutunu gönderin.- Bir İsim (Name) Belirleyin. Bu, kullanıcıların sohbet listesinde gördüğü görünen addır. Herhangi bir dilde herhangi bir şey olabilir, örneğin:
Benim Süper Botum. - Bir Kullanıcı Adı (Username) Belirleyin. Bu, botun bulunabileceği benzersiz tanımlayıcıdır.
botile bitmelidir (örneğinmysuperbotveyamy_super_bot).- Latin alfabesiyle yazılmalıdır.
- Benzersiz olmalıdır (isim alınmışsa, BotFather alternatifler önerir).
- Verileri başarıyla girdikten sonra BotFather, tebrik mesajı ve API Token içeren bir mesaj gönderir.
Token uzun bir karakter dizisi gibi görünür: 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ.
Bunu asla başkalarına göstermeyin ve herkese açık alanlarda (GitHub, forumlar) yayınlamayın. Token'a sahip olan herkes botunuzu kontrol edebilir.
Profil ve Komutların Temel Yapılandırması
Token'ı aldıktan sonra bot oluşturulmuş olur ancak "boştur". Dış görünümünü ve davranışını BotFather menüsü üzerinden yapılandırın.
/mybots komutunu gönderin, listeden botunuzu seçin ve aşağıdaki ayarları kullanın:
| Komut / Düğme | Ne İçin Gerekli? | Öneri |
|---|---|---|
| Edit Bot -> Edit Description | Kullanıcının diyaloğu başlatmadan önce gördüğü metin. | Özünü kısaca açıklayın: "Döviz kurlarını takip etmek için bot". |
| Edit Bot -> Edit About | Bot profilindeki kısa bilgi. | Botun daha kolay bulunması için anahtar kelimeler kullanın. |
| Edit Bot -> Set Userpic | Botun profil resmi. | 512x512 px boyutunda bir logo veya anlaşılır bir simge yükleyin. |
| Edit Bot -> Set Commands | Giriş alanındaki komut listesi ve ipuçları. | Mutlaka /start ve /help ekleyin. |
Komut Yapılandırma Örneği (/setcommands)
Komut ayarlarını seçtiğinizde, BotFather sizden aşağıdaki formatta bir liste göndermenizi isteyecektir:
start - Botu başlat
help - Yardım ve iletişim bilgileri
price - Güncel kuru öğren
Bu, UX'i (kullanıcı deneyimi) iyileştirir, çünkü insanların botunuzun neler yapabildiğini tahmin etmesine gerek kalmaz.
Bot Teknik Olarak Nasıl Çalışır?
Telegram'daki bot kendi başına sadece bir hesaptır. Yanıt verebilmesi için sunucuda veya bilgisayarınızda çalışan bir işleyici programa ihtiyaç vardır.
Telegram'dan güncellemeleri almanın iki ana yolu vardır:
- Long Polling: Betiğiniz sürekli olarak Telegram sunucularına "Yeni mesaj var mı?" diye sorar. Yeni başlayanlar ve testler için basit bir seçenektir.
- Webhooks: Bir kullanıcı bota yazdığında Telegram verileri doğrudan sunucunuza gönderir. Yüksek yükler için daha verimlidir, ancak bir alan adı ve SSL sertifikası gerektirir.
Geliştirme Aracı Seçimi
HTTP isteklerini destekleyen herhangi bir dilde bot yazabilirsiniz. En popüler kütüphaneler:
- Python:
aiogram(asenkron, modern),pytelegrambotapi(basit, senkron). - Node.js:
Telegraf,Grammy. - PHP:
Telegram Bot SDK. - Go:
go-telegram-bot-api.
Başlangıç için Python + aiogram öneriyoruz. Bu yığının büyük bir topluluğu, detaylı belgelendirmesi ve birçok hazır kod örneği bulunmaktadır.
Token Güvenliği ve Sık Yapılan Hatalar
Deneyimli geliştiriciler bile başlangıçta botun hacklenmesine veya engellenmesine yol açan hatalar yapabilir.
Yeni Başlayanların Sık Yaptığı Hatalar
- Token'ı Kod İçinde Saklamak.
- Hata: Token'ı doğrudan
main.pyveyaindex.jsdosyasına yapıştırmak. - Çözüm: Ortam değişkenleri (
.envdosyaları) kullanın. Token'ın depoya gitmemesi için.envdosyasını.gitignorelistesine ekleyin.
- Hata: Token'ı doğrudan
- Hata İşlemeyi Görmezden Gelme.
- Hata: Kullanıcı metin yerine resim gönderdiğinde botun çökmesi.
- Çözüm: Her zaman
try/exceptblokları öngörün ve gelen içeriğin türünü kontrol edin.
- Toplu Mesaj Spamı.
- Hata: Daha önce botla konuşmamış kullanıcılara mesaj göndermeye çalışmak.
- Çözüm: Telegram spam'i yasaklar. Bot yalnızca kendisine ilk mesajı atanlara veya aktif bir diyalog çerçevesinde yanıt verebilir. İhlal yasaklanmayla sonuçlanır.
- Unutulan Gizlilik Modu.
- Hata: Botun grup sohbetlerindeki tüm mesajları görmesi, oysa buna ihtiyacı olmaması.
- Çözüm: BotFather ayarlarında (Bot Settings -> Group Privacy), botun grubun tüm mesajlarına erişmesine ihtiyacı yoksa gizlilik modunu etkinleştirin.
SSS: Popüler Soruların Cevapları
Programlama yapmadan bot oluşturulabilir mi? Evet, bot oluşturucular mevcuttur (birçoğu ücretlidir veya sınırlamalara sahiptir). Ancak bunlar daha az esnektir. BotFather + kendi kodunuz ile oluşturmak tam kontrol sağlar.
Bot oluşturmanın maliyeti nedir? BotFather'a kayıt olmak ve Telegram API'sini kullanmak tamamen ücretsizdir. Yalnızca botu buluta yerleştirmeye karar verirseniz hosting (sunucu) için ödeme yapabilirsiniz, ancak basit botlar için ücretsiz planlar mevcuttur.
Token'ımı kaybedersem ne yapmalıyım?
BotFather'a girin, /mybots seçeneğini seçin, botunuzu bulun, API Token -> Revoke Token adımlarını izleyin. Eski token çalışmayı durdurur, yeni token'ı program koduna yapıştırmanız gerekir.
Botun ismini değiştirebilir miyim?
Görünen isim (Name), /mybots -> Edit Bot -> **Edit Name` yoluyla istediğiniz kadar değiştirilebilir. Kullanıcı adı (Username) değiştirilemez — sadece yeni bir bot oluşturmanız gerekir.
Botun çalışıp çalışmadığını nasıl kontrol ederim?
Kullanıcı adıyla arama yaparak botunuzu bulun, "Başlat"a basın ve /start gönderin. Kodu yazdıysanız ve sunucuda çalıştırdıysanız, bot mantığınıza göre yanıt vermelidir.