Telegram bot nasıl yapılır: adım adım, kodla ya da kodsuz
@BotFather'da bir dakikada bot kaydedin, sonra yanıt vermesini sağlayın: hazır servis, örnekli Python kodunuz ya da yapay zeka. Profil, sunucu, grup, hatalar.
Kanal mı açıyorsun? Botla başla
Bot bağlaKısaca. Telegram botu, bir hesap artı onun yerine yanıt veren bir programdır. Hesap bir dakika sürer: @BotFather’ı açın,
/newbotgönderin, bir ad vebotile biten bir kullanıcı adı seçin, token’ı alırsınız. Program ayrı bir adımdır: botu hazır bir servise bağlayın, kendi kodunuzu çalıştırın (aşağıda kısa bir Python örneği var) ya da bir yapay zeka asistanına yazdırın. Program çalışmadıkça bot sessiz kalır.
«Telegram bot nasıl yapılır» rehberlerinin neredeyse hepsi BotFather’dan gelen token’da biter. O noktada bot henüz hiçbir şey yapamaz. Telegram botları tam da böyle tanımlar: sahibinin sunucusuna bağlı özel hesaplar; mesajları işleyen de o sunucudur. Aşağıda kayıttan yanıt veren bir bota kadar bütün yol var; ayarlar, barındırma ve insanların en çok takıldığı hatalarla birlikte.
Adım 1. Botu @BotFather’da kaydedin
- @BotFather’ı açın — Telegram’ın bot oluşturmak için resmî botu — ve Başlat’a (Start) basın. Telefonda da bilgisayarda da aynı şekilde çalışır.
/newbotgönderin.- Bir ad gönderin. Sohbetlerde ve kişilerde görünür, istediğiniz zaman değiştirilebilir.
- Bir kullanıcı adı gönderin: Latin harfleri, rakamlar ve alt çizgilerden oluşan,
botile biten 5–32 karakter (tetris_bot,TetrisBot). Büyük-küçük harf fark etmez ve kullanıcı adı sonradan değiştirilemez. Alınmışsa BotFather başka bir tane ister; alınıp alınmadığını önceden kullanıcı adı kontrol aracında kontrol edebilirsiniz. - BotFather token’la yanıt verir:
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsawgibi bir dizi.
Token bir anahtardır: onu bilen botu kontrol eder. Yayımlamayın ve internete koyduğunuz koda yazmayın. Token’ı sonradan bulmak, kontrol etmek ve sızan bir token’ı iptal etmek bot token’ı rehberinde anlatılıyor.
BotFather Mini App’i de bunların hepsini komutlar yerine düğmelerle yapar.
Adım 2. Botun profilini ayarlayın
Botu ilk kez açan kişi, ilk mesajdan önce adını, resmini ve açıklamasını görür. Bunların hepsi @BotFather’da ayarlanır — aşağıdaki komutlarla ya da /mybots → botunuz yoluyla — ve bir kısmı doğrudan botun profil sayfasında düzenlenebilir.
| Komut | Neyi ayarlar | İnsanlar nerede görür |
|---|---|---|
/setuserpic | profil resmini | sohbet listesinde ve profilde |
/setdescription | en fazla 512 karakterlik bir açıklamayı | botla boş sohbette, kişi ona yazana kadar |
/setabouttext | en fazla 120 karakterlik kısa bir metni | botun profilinde ve bot paylaşıldığında bağlantının yanında |
/setcommands | açıklamalarıyla birlikte komut listesini | kişi / yazdığında öneri olarak |
/setname | adı | botun göründüğü her yerde |
Açıklama ve kısa metin birkaç dilde ayarlanabilir — Bot API’nin setMyDescription ve setMyShortDescription yöntemleri ve bir language_code ile — ve herkes kendi Telegram dilindeki sürümü görür.
Adım 3. Bota yanıt vermeyi öğretin
Çoğu rehber burada durur. Telegram mesajları bota yalnızca teslim eder; onlara yanıt veren, token’ı verdiğiniz programdır. Böyle bir program edinmenin üç yolu var:
| Hazır servis | Kendi kodunuz | Yapay zeka asistanıyla kod | |
|---|---|---|---|
| Kod yazmak gerekir mi | hayır | evet | biraz: çalıştırmak ve kontrol etmek |
| Program nerede çalışır | serviste | bilgisayarınızda ya da sunucunuzda | bilgisayarınızda ya da sunucunuzda |
| Bot çöktüğünde kim düzeltir | servis | siz | siz |
| Bot neler yapabilir | servisin yapabildiklerini | yazdığınız her şeyi | yazıp kontrol ettiğiniz her şeyi |
Hazır servis
Bunlar, botun işinin — bir mağaza, ücretli bir kanal, destek — zaten hazır olduğu sohbet akışı oluşturucuları ve platformlardır. Botu bağlarsınız; program ve sunucu servisin tarafında kalır. Hangisinin hangi işe uyduğu kod yazmadan bot oluşturma yazısında anlatılıyor.
Bot bir kanal içinse AdminHub onu doğrudan uygulamadan oluşturabilir. Telegram bir botun başka botlar oluşturmasına izin veriyor — yönetilen botlar (managed bots) — böylece siz yalnızca bir Telegram penceresinde ad ve kullanıcı adı seçersiniz, uygulama da token’ı siz kopyalamadan doğrudan Telegram’dan alır. Devir tamamlanmazsa ya da bot zaten varsa token’ı elle yapıştırırsınız. İki yol da kanalınız için bot oluşturma rehberinde gösteriliyor.
Kendi kodunuz: Python’da bir bot
Örnek, Telegram’ın kod örnekleri sayfasındaki Bot API kütüphanelerinden biri olan aiogram 3’ü kullanıyor. Bot /start komutunda sizi selamlar ve mesajlarınızı size geri tekrarlar.
- Python 3.10–3.14’ü kurun (aiogram henüz 3.15’i desteklemiyor). Bir terminalde sanal ortam oluşturun ve kütüphaneyi kurun:
python3 -m venv .venv
source .venv/bin/activate
pip install aiogram
Windows’ta: python -m venv .venv, ardından .venv\Scripts\activate, ardından pip install aiogram.
- Kodu
bot.pyolarak kaydedin:
import asyncio
import os
from aiogram import Bot, Dispatcher
from aiogram.filters import CommandStart
from aiogram.types import Message
dp = Dispatcher()
@dp.message(CommandStart())
async def start(message: Message) -> None:
await message.answer(f"Merhaba, {message.from_user.first_name}! Bana herhangi bir mesaj gönderin, onu tekrarlayayım.")
@dp.message()
async def echo(message: Message) -> None:
await message.copy_to(message.chat.id)
async def main() -> None:
bot = Bot(token=os.environ["BOT_TOKEN"])
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
- Aynı terminal penceresinde token’ı koda yazmak yerine bir ortam değişkeniyle verin (Telegram’ın rehberi de bunu öneriyor) ve programı çalıştırın:
export BOT_TOKEN="BotFather'dan gelen token"
python bot.py
Windows’ta export yerine: Komut İstemi’nde (Command Prompt) set BOT_TOKEN=token ya da PowerShell’de $env:BOT_TOKEN="token".
Botu Telegram’da açın ve Başlat’a basın: yanıt verir. Programı durdurun (Ctrl+C), bot susar. Kodu ayrı bir botta deneyin: zaten bir servise bağlı olan botta webhook kuruludur ve polling onda çalışmaz. Aynı listedeki diğer popüler kütüphaneler Python için python-telegram-bot, JavaScript için grammY ve Telegraf’tır.
Yapay zeka asistanıyla kod
Telegram, bot belgelerinin yapay zeka da düşünülerek yazıldığını açıkça söylüyor: kodlama deneyiminiz azsa bir yapay zeka asistanından onları okumasını ve başlamanıza yardım etmesini isteyebilirsiniz. Botun ne yapması gerektiğini anlatın, belirli bir kütüphaneyle kod isteyin ve yukarıdaki örnekle aynı şekilde çalıştırın. İki şey size kalır: token’ı asistanla sohbete yapıştırmayın — kod onu ortam değişkeninden okusun — ve insanları davet etmeden önce botu kendiniz test edin.
Adım 4. Botun nerede çalışacağına karar verin
Program bilgisayarınızda çalıştığı sürece bot yalnızca bilgisayar açıkken yanıt verir. Telegram’ın rehberi bunu doğrudan söyler ve sürekli çalışma için bir sunucu (VPS) ya da benzer bir hizmet önerir. Hazır bir servis seçtiyseniz bu işi o üstlenir.
Program mesajları iki yolla alabilir ve bu ikisi aynı anda çalışmaz:
- getUpdates (long polling). Program yeni mesajları Telegram’dan kendisi ister. Yukarıdaki örnek böyle çalışır: herhangi bir bilgisayar yeter, internette bir adres gerekmez.
- Webhook. Telegram her mesajı 443, 80, 88 ya da 8443 numaralı porttaki HTTPS adresinize gönderir. Kod, istek geldiğinde başlayan bir bulutta çalışıyorsa buna ihtiyacınız olur.
Webhook kuruluyken getUpdates çalışmaz. Botun henüz almadığı mesajları Telegram 24 saate kadar saklar.
Adım 5. İlk kişileri davet edin
Bot bir kişiye ilk önce yazamaz: kişinin botu açıp Başlat’a basması ya da onu bir gruba eklemesi gerekir. Bu yüzden t.me/your_bot_username bağlantısını paylaşın; insanlar botu Telegram aramasında kullanıcı adıyla da bulabilir.
Önceden bilmeye değer gönderim sınırları (Telegram’ın Bots FAQ sayfasından):
- tek bir sohbette — saniyede yaklaşık bir mesajdan fazla değil;
- bir grupta — dakikada 20 mesajdan fazla değil;
- toplu yayında — saniyede yaklaşık 30 mesaj. Daha hızlısı yalnızca ücretli yayınla mümkündür: saniyede 1.000 mesaja kadar, saniyedeki ücretsiz 30 mesajın üzerindeki her mesaj için 0,1 Stars karşılığında. Botun bakiyesinde en az 100.000 Stars ve en az 100.000 aylık aktif kullanıcısı olduğunda açılabilir.
Grupta ya da kanalda bot
- Grup. Botu üye olarak ekleyin. Varsayılan olarak privacy mode’da çalışır: kendisine yöneltilen komutları, kendi mesajlarına verilen yanıtları ve servis mesajlarını görür, ama sohbetin tamamını görmez. Yönetici olan bir bot tüm mesajları görür; bu mod
/setprivacyile kapatılabilir — bundan sonra botun gruba yeniden eklenmesi gerekir. Ayrıntılar gruba bot ekleme rehberinde. - Kanal. Bot bir kanalda yalnızca, mesaj gönderme yetkisi olan yöneticilerinden biriyse gönderi paylaşabilir.
Botun doğru sohbete yazması için chat ID gerekir. Her tür sohbet chat ID rehberinde ele alınıyor.
Bot neden yanıt vermiyor
- Program çalışmıyor ya da çöktü. Telegram bot adına kendisi yanıt vermez.
- Webhook kuruluyken kod getUpdates ile okuyor — ya da tam tersi.
- Programın iki kopyası çalışıyor, aynı token’la, ve güncellemeleri alırken birbirinin önünü kesiyor.
- Grupta bot mesajları görmüyor — bu privacy mode, yukarıya bakın.
- Bot bir kişiye yazamıyor — kişi henüz Başlat’a basmadı ya da botu engelledi.
- Token BotFather’da değiştirildi: eskisi çalışmayı bıraktı ve program Unauthorized alıyor. Yenisini koyun.
Maliyeti ne
@BotFather’da bot kaydetmek ve normal sınırlar içinde mesaj göndermek ücretsizdir. Para, botun arkasında çalışan şeye gider: kendi kodunuz için bir sunucuya ya da bir servisin tarifesine. Stars ücretli yayın için alınır — saniyede yaklaşık 30 mesajdan fazlasını göndermek için gerekir ve yalnızca büyük botlara açıktır.
Kaynaklar, Ekim 2026’da kontrol edildi: Telegram Bots — botlar nasıl çalışır, bot konuşmayı ilk başlatmaz; Bot features — BotFather (/newbot, kullanıcı adı kuralları, profil, komutları düzenleme, BotFather Mini App’i), Privacy Mode, Managed Bots, yapay zeka için belgeler; Bots FAQ — botun neyi gördüğü, long polling ve webhook’lar, sınırlar ve ücretli yayınlar; Telegram Bot API — getUpdates ve setWebhook (portlar, güncellemelerin 24 saat saklanması), setMyDescription ve setMyShortDescription; Bot tutorial — token’ı kodun dışında tutmak, barındırma; Bot API Library Examples — Bot API kütüphaneleri.
Genelde sorulanlar
- Telegram botu ücretsiz oluşturabilir miyim?
- @BotFather'da bot kaydetmek ücretsizdir, Bot API üzerinden normal gönderim de öyle. Ödediğiniz şey botun arkasında çalışan şeydir: kod yazıyorsanız kendi sunucunuz ya da botu sizin yerinize çalıştıran bir servis. Saniyede yaklaşık 30 mesajdan hızlı göndermek ücretli yayın gerektirir; bunun bedeli Stars ile ödenir ve yalnızca büyük botlara açıktır.
- Telefondan Telegram botu oluşturabilir miyim?
- Evet. @BotFather sıradan bir sohbettir ve /newbot, /mybots ile diğer komutlar mobil uygulamada bilgisayardakiyle tamamen aynı şekilde çalışır; BotFather'ın komutlar yerine düğmeler kullanan bir Mini App'i de var. Telefonda zahmetli olan tek şey kendi kodunuzu çalıştırmaktır; bunun için bir bilgisayar ya da sunucu gerekir.
- Bot yapmak için kod yazmayı bilmem gerekir mi?
- Kaydetmek için gerekmez: bu, @BotFather'a birkaç mesajdan ibarettir. Botun bir şey yapması içinse onun yerine yanıt veren bir program gerekir: bunu kendiniz yazabilir, bir yapay zeka asistanına yazdırabilir ya da botu, işin zaten hazır olduğu bir servise bağlayabilirsiniz.
- Botum neden yanıt vermiyor?
- Çoğu zaman botun programı çalışmadığı için: Telegram yalnızca mesajları teslim eder, yanıt veren sizin kodunuz ya da servisinizdir. Bot için bir webhook kuruluyken kodun güncellemeleri getUpdates ile okuduğu da olur; ikisi aynı anda çalışmaz. Yönetici olmadığı bir grupta bot varsayılan olarak yalnızca kendisine yöneltilen komutları, kendisine verilen yanıtları ve servis mesajlarını görür.
- Botumun kullanıcı adını değiştirebilir miyim?
- Hayır. Ad /setname ile her zaman değiştirilebilir, ama bot ile biten kullanıcı adı oluşturulduktan sonra değiştirilemez (Fragment'ta satın alınan koleksiyon kullanıcı adı bunun üstüne eklenebilir). Uymuyorsa yeni bir bot oluşturun; eskisi /deletebot ile silinebilir ve bu, kullanıcı adını boşa çıkarır, ama silinen bot geri getirilemez.
- Telegram'da yapay zekalı sohbet botu nasıl yapılır?
- Botu @BotFather'da oluşturun ve soruları bir dil modeline ileten, yanıtları geri gönderen bir programa ya da servise bağlayın. Bu programı kendiniz yazabilirsiniz, Telegram'ın kendisi de belgelerini bir yapay zeka asistanıyla birlikte okumayı öneriyor; ya da botu yapay zeka yanıtları yerleşik olan bir servise bağlayabilirsiniz.