Eksiksiz BotFather Rehberi
BotFather, diğer tüm Telegram botlarını oluşturan ve yöneten resmi Telegram botudur. Bu rehber, gerçekten kullanacağınız her komutu, /newbot'tan çalışan bir tokena kadar izlenecek tam adımları ve bu token sızdığında ne yapmanız gerektiğini kapsar.
Kısa yanıt
BotFather, botları kaydetmek ve yapılandırmak için Telegram'ın kendi botudur ve mesaj başına ücret olmadan ücretsizdir. Bir bot oluşturmak için Telegram'ı açın, "@BotFather"ı arayın, /newbot gönderin, ona bir görünen ad ve "bot" ile biten bir kullanıcı adı verin; size 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw gibi görünen bir API tokenıyla yanıt verir. BotFather burada durur: botu kaydeder ama ona hiçbir davranış vermez, bu yüzden o tokenı kendi barındırdığınız koda ya da TeleMinute gibi kodsuz bir oluşturucuya (haftada $3.99, ayda $9.99 veya ömür boyu erişim için tek seferlik $49.99) yapıştırır ve yanıtları orada tasarlarsınız.
Telegram'da BotFather nedir?
BotFather, @BotFather kullanıcı adında, Telegram tarafından işletilen resmi bir bottur ve yeni bir bot kaydetmenin tek yoludur. Onunla diğer sohbetler gibi konuşursunuz: ona komutlar gönderirsiniz, sorular sorar, siz yanıtlarsınız ve sonucu kaydeder.
BotFather ücretsizdir. Bot oluşturmak hiçbir şeye mal olmaz, Telegram'dan aylık bir ücret yoktur ve gönderilen mesaj başına bir ücret yoktur; bu da WhatsApp Business API'ye karşı temel maliyet farkıdır. Tek bir Telegram hesabından birden fazla bot kaydedebilirsiniz.
Başlat'a basmadan önce, açtığınız hesabın mavi onay rozetine ve tam olarak @BotFather kullanıcı adına sahip olduğunu kontrol edin. Benzer görünümlü kullanıcı adlarına sahip sahte hesaplar mevcuttur ve tek amaçları insanların içlerine yapıştırdığı tokenları toplamaktır.
BotFather ile bir bot nasıl oluşturulur?
/newbot gönderirsiniz, iki soruyu yanıtlarsınız ve tokenı kopyalarsınız. Tüm süreç yaklaşık iki dakika sürer ve şöyle görünür:
- @BotFather'ı açın. Telegram'da "BotFather"ı arayın, onaylı hesabı açın ve Başlat'a basın.
/newbotgönderin. BotFather, yeni botunuzun adını sorarak yanıt verir.- Görünen adı gönderin. Örneğin "Sunrise Cafe". Bu, kullanıcıların sohbetin üstünde gördüğü şeydir. Boşluklara, büyük harflere ve emojiye izin verilir ve daha sonra
/setnameile değiştirebilirsiniz. - Kullanıcı adını gönderin. 5 ile 32 karakter arasında olmalı, yalnızca Latin harfleri, rakamlar ve alt çizgi kullanmalı ve "bot" kelimesiyle bitmelidir: SunriseCafeBot ve sunrise_cafe_bot geçerlidir, SunriseCafe geçerli değildir. Kullanıcı adları tüm Telegram genelinde benzersizdir, bu yüzden sizinki alınmışsa BotFather sizden basitçe başka bir tane ister.
- Tokenı kopyalayın. BotFather sizi tebrik eder ve 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw gibi bir API tokenı yazdırır. Onu güvenli bir yere kopyalayın ve bir şifre gibi davranın.
- Botunuzu açın ve Başlat'a basın. BotFather'ın yanıtındaki t.me bağlantısına dokunun. Bot var olur, ama henüz hiçbir şeye yanıt vermez. Bu beklenen bir durumdur.
- Tokenı botu çalıştıracak her neyse ona yapıştırın. Kendi sunucu kodunuz veya komutları ve yanıtları tanımladığınız kodsuz bir oluşturucu. Bot, o token için güncellemeleri almaya bir şey başladığı anda yayına girer.
Kullanıcı adını dikkatli seçin. BotFather'ın bir botun adını, resmini ve açıklamasını değiştirmek için komutları vardır, ama kullanıcı adını değiştirmek için hiçbiri yoktur, bu yüzden pratikte yeniden adlandırma yeni bir bot oluşturmak ve bağlantılarınızı ona yönlendirmek anlamına gelir.
Tokendan sonra olanların ekran görüntüleriyle birlikte tam başlangıç yolunu görmek isterseniz, kodlama olmadan Telegram botu nasıl oluşturulur yazısına bakın.
Tüm BotFather komutları nelerdir?
Bir bot oluşturmak ve çalıştırmak için önemli olan komutlar bunlardır. BotFather'a /help göndermek her zaman güncel listeyi yazdırır ve /mybots bunların neredeyse tümünü butonlar olarak sunar.
| Komut | Ne yapar | Ne zaman ihtiyacınız olur |
|---|---|---|
/newbot | Yeni bir bot kaydeder: önce bir görünen ad, sonra "bot" ile biten bir kullanıcı adı ister, ardından API tokenını döndürür. | Her bot için bir kez, en başında. |
/mybots | API Token, Edit Bot, Bot Settings ve Delete Bot butonlarıyla sahip olduğunuz her botun menüsünü açar. | Komutları ezberlemeden aşağıdakilerin tümüne en hızlı yol. |
/token | Seçtiğiniz bir bot için mevcut API tokenını gösterir. Tokenı değiştirmez. | Tokenı kaybettiniz ama sızdığını düşünmek için bir nedeniniz yok. |
/revoke | Mevcut tokenı anında geçersiz kılar ve yerine yeni bir tane verir. | Token sızdı, bir depoya commit edildi veya bir yüklenici ayrıldı. |
/setname | Sohbetin üstündeki görünen adı değiştirir. Kullanıcı adına dokunulmaz. | Yeniden markalama, sezonluk adlar, bir yazım hatasını düzeltme. |
/setdescription | Boş sohbet ekranında "Bu bot ne yapabilir?" altında gösterilen metni ayarlar, en fazla 512 karakter. | Başlat'a basmadan önce insanlara botun ne yaptığını anlatma. |
/setabouttext | Bot profilinde ve bağlantı önizlemelerinde gösterilen kısa biyografiyi ayarlar, en fazla 120 karakter. | Botunuz paylaşıldığında görünen tek satırlık bir tanıtım. |
/setuserpic | Bot profil fotoğrafını yükler. Temiz bir kırpma için kare bir görsel gönderin. | Kullanıcıların bir sohbet listesinde göreceği herhangi bir bot. |
/setcommands | Kullanıcıların "/" menüsünde gördüğü komut listesini ayarlar. Her komut için command - description biçiminde bir satır gönderirsiniz. | Botunuzun hangi komutlara yanıt vereceğine karar verdikten sonra. |
/setjoingroups | İnsanların botunuzu gruplara ekleyip ekleyemeyeceğini açar veya kapatır. | Yalnızca birebir bir destek botu için kapatın. |
/setprivacy | Grup gizlilik modu. Enabled (varsayılan) botun yalnızca komutları, kendi mesajlarına verilen yanıtları, kullanıcı adından bahseden mesajları ve servis mesajlarını aldığı anlamına gelir. Disabled ise gruptaki her mesajı aldığı anlamına gelir. | Düz anahtar kelimelere tepki vermesi gereken grup botları. Değişikliğin etkili olması için botu mevcut gruplara yeniden ekleyin. |
/setinline | Satır içi (inline) modu açar, böylece kullanıcılar herhangi bir sohbette @botunuz yazıp ardından bir sorgu yazabilir. | Arama tarzı botlar. Satır içi sorguları desteklemiyorsanız kapalı bırakın. |
/deletebot | BotFather'ın istediği tam cümleyle onayladıktan sonra bir botu kalıcı olarak siler. | Bir botu kalıcı olarak emekliye ayırma. Geri alma yoktur. |
BotFather'ın başlangıçta güvenle göz ardı edebileceğiniz birkaç komutu daha vardır: oyun komutları (/newgame, /mygames, /listgames, /editgame, /deletegame), satır içi ince ayar komutları (/setinlinegeo, /setinlinefeedback) ve Telegram Login Widget için bir web sitesi alan adını bağlayan /setdomain.
Telegram bot tokenı nedir ve nasıl tekrar alınır?
Bot tokenı, yazılımın botunuz olarak hareket etmesini sağlayan tek kimlik bilgisidir ve /token ile ya da /mybots üzerinden ardından API Token ile onu istediğiniz zaman tekrar görebilirsiniz. Şöyle görünür:
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
İki nokta üst üsteden önceki rakamlar botun genel olan sayısal kullanıcı kimliğidir. İki nokta üst üsteden sonraki dize ise gizli bilgidir. Her Telegram Bot API çağrısı yalnızca https://api.telegram.org/bot<token>/methodName adresine yapılan bir istektir, bu yüzden tam dizeyi elinde bulunduran herkes botunuz olarak herhangi bir metodu çağırabilir.
Bir token aynı anda yalnızca bir çalışan sistem tarafından kullanılabilir. Telegram, bot başına tek bir webhook URL'sine izin verir ve bir webhook ayarlıyken güncellemeleri yoklamak (polling) 409 Conflict hatası döndürür. Bir botu bir platformdan diğerine taşıyorsanız, ikisini birden çalıştırmak yerine eskisinin bağlantısını kesin.
Bot tokenınız sızarsa ne olur ve nasıl iptal edersiniz?
Tokenı bir şifre gibi görün: ona sahip olan herkes botu tamamen kontrol eder ve çözüm /revoke'dur. Kısmi erişim ve salt okunur mod yoktur.
Çalıntı bir tokenla bir saldırgan şunları yapabilir:
- O andan itibaren kullanıcıların botunuza gönderdiği, formlarınıza yazılan her şey dahil, tüm mesajları okuyabilir
- Botu zaten başlatmış olan herkese bot olarak mesaj gönderebilir, düzenleyebilir ve silebilir
- Webhook'u kendi sunucusuna yönlendirebilir, böylece trafiğiniz sessizce size değil onlara gider
- Bot API üzerinden komut menüsünü, açıklamayı ve satır içi davranışı değiştirebilir
Yapamayacakları şeyleri bilmek de değerlidir. Token, kişisel Telegram hesabınıza hiçbir erişim sağlamaz, botu silemez (bu, BotFather içinde sizin hesabınızı gerektirir), botunuzu hiç başlatmamış kişilere mesaj gönderemez ve Bot API'de kullanıcılarınızın listesini indirmek için bir metot yoktur, bu yüzden abone listeniz basitçe dışa aktarılabilir değildir.
Bir tokenı döndürmek için:
- BotFather'a
/revokegönderin - Gösterdiği klavyeden etkilenen botu seçin
- BotFather eski tokenı anında öldürür ve yenisiyle yanıt verir
- Yeni tokenı eskisinin bulunduğu her yere yapıştırın, çünkü siz bunu yapana kadar bot çevrimdışıdır
Önlem büyük ölçüde tek bir alışkanlıktan ibarettir: tokenı asla herkese açık bir yere koymayın. GitHub'a commit etmeyin, bir grup sohbetine veya destek talebine yapıştırmayın ve ekran görüntülerinden kırpın. Herkese açık depolar rakam, iki nokta üst üste, harf desenine karşı sürekli taranır ve sızan tokenlar genellikle dakikalar içinde kötüye kullanılır. Bunun gibi daha fazla hijyen kuralı Telegram bot en iyi uygulamaları yazımızda toplanmıştır.
Bir botun adı, açıklaması, hakkında metni veya resmi nasıl değiştirilir?
/setname, /setdescription, /setabouttext ve /setuserpic kullanın ya da /mybots'u açın, botu seçin ve dördünü de bir menüden yapmak için Edit Bot'u seçin. Her komut önce hangi botu düzenleyeceğinizi sorar, ardından yeni değeri ister.
İki metin alanını karıştırmak kolaydır. Açıklama en fazla 512 karakterdir ve boş sohbet ekranında, Başlat butonunun üstünde görünür, bu yüzden bir kullanıcının botunuzu kullanmaya karar vermeden önce okuduğu son şeydir. Hakkında metni ise en fazla 120 karakterdir ve botun profil sayfasında ve biri onu paylaştığında bağlantı önizlemelerinde görünür.
Değişiklikler anında etkili olur ve hiçbiri tokena veya kullanıcı adına dokunmaz. Zaten kullanıcı kazandıysanız, yeniden adlandırma güvenlidir: sohbetleri çalışmaya devam eder.
Kullanıcıların gördüğü komut menüsü nasıl ayarlanır?
/setcommands gönderin, botunuzu seçin, ardından başındaki eğik çizgi olmadan command - description biçiminde, her satırda bir komut olacak şekilde tüm listeyi tek bir mesajda gönderin. Örneğin:
start - Botu başlat ve ana menüyü aç
menu - Güncel menüyü ve fiyatları gör
book - Masa rezervasyonu yap
hours - Çalışma saatleri ve adres
help - Bu bot nasıl kullanılırTelegram'ın o liste için kuralları: komut adları küçük harf Latin harfleri, rakamlar ve alt çizgi kullanır, 1 ile 32 karakter uzunluğundadır ve her açıklama 1 ile 256 karakter arasındadır. Bir botun menüde en fazla 100 komutu olabilir. Kaydedildikten sonra liste, bir kullanıcı "/" yazdığında ve mesaj alanının yanındaki Menu butonunun arkasında görünür.
Neredeyse herkesi şaşırtan bir şey var: bir komutu BotFather'da kaydetmek onu yalnızca görünür kılar. Çalışmasını sağlamaz. Menüye /hours eklerseniz ama alıcı tarafta hiçbir şey /hours'u işlemiyorsa, kullanıcılar ona dokunur ve sessizlikle karşılaşır, bu da onu hiç listelememekten daha kötü görünür.
BotFather ne yapmaz?
BotFather botu kaydeder, profilini ayarlar ve size bir token verir; işi budur. Botunuza sıfır davranış kazandırır, bu yüzden yepyeni bir bot ne kadar beklerseniz bekleyin hiçbir şeye yanıt vermez.
Bir kullanıcının botunuza gönderdiği her mesaj, Telegram tarafında bir güncelleme haline gelir. Bir şeyin bu güncellemeleri, ister webhook ister polling yoluyla, alması, yanıtın ne olması gerektiğine karar vermesi ve göndermek için Bot API'yi çağırması gerekir. Bu bir şey için iki gerçekçi seçeneğiniz vardır:
- Kendiniz yazın ve barındırın. Bir Python veya Node scripti, onu çalıştırmak için bir sunucu veya serverless fonksiyon, webhook için bir HTTPS uç noktası, artı sonsuza kadar izleme ve yeniden dağıtımlar.
- Kodsuz bir oluşturucu kullanın. Tokenı platforma yapıştırırsınız, komutları ve yanıtları görsel bir düzenleyicide oluşturursunuz ve platform güncellemeleri almayı ve yanıtları göndermeyi halleder.
TeleMinute ikinci türdendir. BotFather tokenını app.teleminute.com'a yapıştırırsınız ve sınırsız Telegram botu, sınırsız komut ve anahtar kelime yanıtı, satır içi butonlar ve menüler, uygulama içi yanıt takibiyle potansiyel müşteri formları, yeni bir form yanıtı geldiğinde push bildirimleri, zamanlama ve segmentasyonla tüm bot kullanıcılarınıza yayınlar, ayrıntılı istatistikler ve teslimat raporları ve komut başına 4'e kadar görsel elde edersiniz. Botlar Telegram webhook'ları üzerinde çalışır, bu yüzden kiralanacak veya uyanık tutulacak bir sunucu olmadan 7/24 çevrimiçidirler. Kart gerektirmeyen ücretsiz 15 dakikalık bir deneme botu vardır ve önce alanı karşılaştırmak isterseniz en iyi Telegram bot oluşturucuları derlememize bakın.
| Neyin maliyeti var | Fiyat | Neler dahil |
|---|---|---|
| BotFather ve Telegram Bot API | Ücretsiz | Bot kaydı, token, profil ayarları. Mesaj başına ücret yok. |
| TeleMinute deneme botu | Ücretsiz, kart gerekmez | Oluşturucuyu uçtan uca test etmek için 15 dakikalık bir deneme botu. |
| TeleMinute Premium, haftalık | Haftada $3.99 | Tüm özellikler. Farklı paket katmanı yoktur. |
| TeleMinute Premium, aylık | Ayda $9.99 | Tüm özellikler. En popüler seçenek. |
| TeleMinute Premium, ömür boyu | Tek seferlik $49.99 | Tüm özellikler, tek seferlik ödeme, ömür boyu erişim. |
Hangi yolu seçerseniz seçin, her bota iki Telegram kuralı uygulanır ve hiçbir platform bunları kaldıramaz. Bir bot yalnızca kendisini önce başlatmış kişilere mesaj gönderebilir, bu yüzden soğuk erişim yoktur ve toplu gönderim saniyede yaklaşık 30 mesaj ile hız sınırlıdır, bu yüzden büyük bir kitleye yayın kuyruğa alınır ve tamamlanması zaman alır.
Bir Telegram botu nasıl silinir?
BotFather'a /deletebot gönderin, botu seçin ve BotFather'ın size gösterdiği tam cümleyi (şu anda "Yes, I am totally sure.") geri göndererek onaylayın. Aynısını /mybots'tan, ardından Delete Bot ile de yapabilirsiniz.
Silme işlemi kalıcıdır. Token çalışmayı durdurur, bot hesabınızdan kaybolur ve BotFather bunun geri alınamayacağı konusunda sizi uyarır. Bunu bir duraklatma butonu gibi görmeyin.
Botun yalnızca bir süreliğine yanıt vermeyi durdurmasını istiyorsanız, /revoke ile tokenı iptal edin veya onu çalıştıran platformda bağlantısını kesin. İkisi de saniyeler sürer ve ikisi de geri alınabilir.
Token elinizde. Şimdi bota söyleyecek bir şey verin.
BotFather tokenınızı TeleMinute'a yapıştırın ve komutları, anahtar kelime yanıtlarını, satır içi menüleri ve potansiyel müşteri formlarını görsel olarak oluşturun. Kart gerektirmeyen ücretsiz 15 dakikalık bir deneme botuyla başlayın.
Bot Tokenınızı BağlayınÖnemli çıkarımlar
- BotFather, @BotFather adresinde bot oluşturmak için Telegram'ın resmi botudur ve mesaj başına ücret olmadan ücretsizdir.
/newbotile bir bot oluşturun: bir görünen ad, ardından "bot" ile bitmesi gereken 5 ile 32 karakter arasında bir kullanıcı adı, ardından token.- Token bir şifredir.
/tokenonu tekrar gösterir,/revokesızması halinde onu anında değiştirir. - BotFather bir botun adını, açıklamasını, hakkında metnini, resmini, komut menüsünü ve grup ayarlarını değiştirebilir, ama kullanıcı adını değiştiremez.
- BotFather bir botu asla yanıt verir hale getirmez. Bunu kendi barındırdığınız kod ya da TeleMinute gibi bir oluşturucu (haftada $3.99, ayda $9.99 veya tek seferlik $49.99) yapar.
Sonuç
BotFather bilerek küçük tutulmuştur. Bir kayıt masasıdır: bir kimlik ve bir token verir, profili cilalamanıza izin verir ve kenarda durur. Yukarıdaki bir düzine komutu öğrenin, bir daha onlara bakmanız gerekmeyecek.
İlginç iş tokendan sonra başlar. Botunuzun neye yanıt vermesi gerektiğine karar verin, tokenı ona yanıt verebilecek bir şeye bağlayın ve gerçek kullanıcılarınızın soracağı ilk beş soruyu test edin. Kayıtlı bir bot ile işe yarayan bir bot arasındaki fark budur.