YENİ 📢 Sınırlı lansman teklifi: Tüm oyunlarda ilk aya %70'e varan indirim!Paketleri görün

Telegram botu nasıl barındırılır

Discord botlarıUpdated Oct 29, 20267 min read

Bir Telegram botunu 7/24 barındırmak için onu bilgisayarınızda değil, hep açık kalan bir sunucuda çalıştırın: botu @BotFather ile oluşturun, Telegram için bir bot paketi sipariş edin, token’ı Bot sayfasına yapıştırın ve kodunuzu başlatın. PlayNHost bot paketinde (ayda US$1,99’dan başlar) panel token’ı Telegram ile kontrol eder, token’ı kodunuza çoğu kütüphanenin kullandığı adlarla verir ve henüz kodunuz yoksa Python ya da Node.js ile hazır bir başlangıç botu sunar. Adımlar:

  1. Telegram’da @BotFather’ı açın, /newbot gönderin, bir ad ve bot ile biten bir kullanıcı adı seçin, verdiği token’ı kopyalayın.
  2. Telegram bot barındırma sayfasında bir paketin üzerinde Sunucu oluştur’a tıklayın. Sipariş penceresinde Botunuz hangi platform için? sorusunu Telegram ile yanıtlayın ve botunuzun yazıldığı dili seçin.
  3. Sunucunuzu panelde açın. Genel bakış sayfasındaki Botunuzu kurun kartında Ne çalışır kısmını kontrol edin ve Devam’a tıklayın.
  4. Telegram’a bağlan adımında token’ı yapıştırın ve Bağlan’a tıklayın. Gösterilen bot adını kontrol edin ve Evet, devam’a tıklayın.
  5. Kodunuz adımında Başlangıç botu oluştur’a tıklayın ya da kendi dosyalarınızı yükleyin veya Git’i bağlayın.
  6. Botu başlat’a tıklayın ve Botunuz Telegram’da çevrimiçi. Denemek için ona /start gönderin. yazısını bekleyin.
  7. Bot sayfasında, Telegram bölümünde Telegram’da aç’a tıklayın ve botunuza /start gönderin.

Her adım aşağıda açıklanıyor.

1. Botu @BotFather ile oluşturun

  1. Telegram’da @BotFather’ı aratın ve sohbeti açın.
  2. /newbot gönderin. @BotFather sizden önce sohbetlerde insanların göreceği bir ad, sonra bir kullanıcı adı ister. Kullanıcı adı bot ile bitmelidir, örneğin tetris_bot ya da TetrisBot.
  3. @BotFather token’ı verir, 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw gibi bir satır. Kopyalayın. Token’a sahip olan botunuzu yönetir, bu yüzden onu paylaşmayın ve koda yazmayın.

Token’ı mı kaybettiniz? @BotFather’da /mybots gönderin, botunuzu seçin, sonra API Token’ı açın.

2. Telegram için bir paket sipariş edin

Her paket bir Telegram botu çalıştırır, STARTER (0,5 GB) ve üstü. İstediğiniz paketin üzerinde Sunucu oluştur’a tıklayın. Sipariş penceresi Botunuz hangi platform için? diye sorar: Telegram’ı seçin. Sonra botunuzun dilini seçersiniz: Node.js, Python, Java, C# (.NET), Bun, Deno, Go ya da Rust. Hangi paketi seçeceğinizden emin değil misiniz? PlayNHost’ta python-telegram-bot ve aiogram karşılaştırması, her kütüphane için ölçtüğümüz belleği gösterir.

STARTER paketi için sipariş penceresi, adım 1 / 2: Botunuz hangi platform için? sorusunda Telegram seçili ve sekiz dil kutusu: Node.js, Python, Java, C# (.NET), Bun, Deno, Go ve Rust.

Discord için kurulmuş bir bot paketiniz zaten var mı? Yenisine gerek yok. Bot sayfasında, Discord bölümünde Bu bot ne için? kartını bulun, Telegram’ı seçin ve Geç ile onaylayın. Hiçbir şey silinmez: Discord token’ı kayıtlı kalır ve geri geçerseniz geri gelir. Token’ınızı Ortam altına TELEGRAM_BOT_TOKEN olarak zaten kaydettiyseniz, o Telegram token’ı olur, yeniden yapıştırmanız gerekmez.

3. Token’ı yapıştırın

Sunucunuzu panelde açın. Genel bakış sayfasındaki Botunuzu kurun kartı sizi üç adımdan geçirir: Ne çalışır, Telegram’a bağlan ve Kodunuz.

  1. Ne çalışır sunucunuzun dilini söyler, örneğin Bu bot Python Bot çalıştırır. Devam’a tıklayın ya da yanlışsa Çalışanı değiştir’e tıklayın.
  2. Telegram’a bağlan: token’ı Bot token’ınızı yapıştırın altına yapıştırın ve Bağlan’a tıklayın. Panel Telegram ile kontrol ediliyor... yazar, sonra botunuzun adını ve @kullanıcı adını Bu sizin botunuz mu? ile gösterir. Evet, devam’a tıklayın.

Token’ı Bot sayfasında, Telegram bölümünde, Token altına da yapıştırabilirsiniz. Telegram’ın reddettiği bir token kaydedilmez: Telegram bu token’ı kabul etmedi. yazısını görürsünüz. Onu @BotFather’dan yeniden kopyalayın.

Token şifreli saklanır ve panelde bir daha gösterilmez. Kodunuz onu beş adla bir ortam değişkeni olarak alır, böylece çoğu örnek değişiklik yapmadan çalışır:

AdKimler kullanır
TELEGRAM_BOT_TOKENBaşlangıç botlarımız
BOT_TOKENaiogram, Telegraf ve node-telegram-bot-api örnekleri
TOKENpython-telegram-bot ve pyTelegramBotAPI örneklerindeki yer tutucu
TELEGRAM_TOKENEğitimlerde yaygın
TELOXIDE_TOKENteloxide (Rust), Bot::from_env() ile okunur

Python’da os.environ["TELEGRAM_BOT_TOKEN"] ile, Node.js’te process.env.TELEGRAM_BOT_TOKEN ile okuyun.

4. Kodunuzu ekleyin

Kodunuz adımında kart, sunucunuza uyanı sunar:

  • Başlangıç botu oluştur (henüz kodu olmayan Node.js ve Python sunucuları): /start komutuna yanıt veren, çalışan küçük bir bot. Python’da bot.py ve python-telegram-bot 22’li requirements.txt yazar; Node.js’te index.js ve grammY’li package.json yazar. Giriş dosyasını sizin için ayarlar. İstediğiniz gibi değiştirin, sonra yeniden başlatın.
  • Dosya yükle: kendi botunuz, requirements.txt ya da package.json ile. venv, .venv, __pycache__ ve node_modules klasörlerini dışarıda bırakın. Bkz. Bot kodunuzu nasıl yüklersiniz.
  • Git’i bağla: kodunuz bir Git deposundan gelir. Bkz. Botunuzu GitHub’dan nasıl dağıtır ve güncellersiniz.

Kendi kodunuz long polling kullanmalıdır: python-telegram-bot’ta run_polling(), aiogram’da start_polling(), grammY’de bot.start() ya da Telegraf’ta launch(). Webhook’lar herkese açık bir HTTPS adresi ister ve bu paketler henüz buna sahip değil. Webhook kullanan bir botu taşımak için: Telegram botunuzu PlayNHost’a nasıl taşırsınız.

5. Başlatın

Kartta Botu başlat’a ya da Başlat’a tıklayın ve Console’u açın. Python, Node.js ve Bun’da sunucu önce paketlerinizi kurar; ilk başlatma, paketler inerken daha uzun sürer. Sonrasında paketler yalnızca siz onları değiştirdiğinizde (paket listesi, paket dosyası ya da çalışma ortamı sürümü), node_modules eksik olduğunda ya da günde bir kez yeniden kurulur. Aksi halde şunu görürsünüz:

[PlayNHost] Packages are up to date. They install again when you change them, or after a day.
[PlayNHost] Starting your bot

Başlangıç botu sonra Logged in as @your_bot yazdırır. Panel bu satırı okur: Genel bakış sayfasındaki rozet Telegram’da çevrimiçi’ye döner. Kendi kodunuzda bot hazır olduğunda buna benzer bir satır yazdırın.

6. Telegram’da açın

Bot sayfasında, Telegram bölümünde Telegram’da aç’a tıklayın. Botunuzun t.me bağlantısını açar. /start gönderin: başlangıç botu adınızla Hello ve Your bot is running on PlayNHost. yanıtını verir.

Aynı bölüm botunuzun @kullanıcı adını ve kimliğini, ayrıca Telegram’ın bota grup sohbetlerinde izin verdiklerini gösteren bir Gruplarda kartını gösterir.

Bot sayfasının Telegram bölümü: token kontrol edildi ve Geçerli, bot adı ve @playnhost_demo_bot, bir Telegram’da aç bağlantısı ve Gizlilik açık görünen Gruplarda kartı.

Yanıt vermiyorsa

Panel konsolu okur ve üstüne nedeni ve düzelten düğmeyi içeren bir uyarı koyar:

  • Telegram bot token’ınızı kabul etmedi: token @BotFather’da iptal edildi ya da yanlış kopyalandı. Token’ı değiştir’e tıklayın.
  • Botunuz başka bir yerde de çalışıyor: başka bir kopya aynı token’ı kullanıyor, çoğu zaman bilgisayarınızda ya da eski barındırıcınızda.
  • Botunuzda bir webhook ayarlı: Webhook’u kaldır’a tıklayın.

Bazı kütüphaneler bu durumlarda yeniden denemeyi sürdürür, bu yüzden bot çalışıyor görünür ama hiçbir şey yanıt vermez: bunu uyarı sayesinde öğrenirsiniz. Ayrıntılar: Telegram botu 409 Conflict hatasını düzeltin.

Sık sorulan sorular

Bilgisayarımı kapatınca botum çevrimiçi kalır mı?

Evet. Bot sunucuda çalışır, bilgisayarınızda ya da tarayıcınızda değil. Çökerse yaklaşık bir dakika içinde yeniden başlatılır; ondan sonra bir dakika içinde yine çökerse durmuş kalır ve Console nedenini söyler.

Polling yerine webhook kullanabilir miyim?

Henüz değil. Webhook herkese açık bir HTTPS adresi ister ve bu paketler henüz buna sahip değil. Polling adres istemez: botunuz Telegram’dan yeni mesajları ister. Botunuzda bir webhook ayarlıysa Telegram bölümü onu, bekleyen mesajları koruyan Webhook’u kaldır ile birlikte gösterir.

Test ederken aynı botu bilgisayarımda da çalıştırabilir miyim?

Aynı token’la aynı anda olmaz. Telegram bir botun yalnızca bir kopyasının mesaj istemesine izin verir, bu yüzden diğeri 409 Conflict alır. Bilgisayarınızdaki kopyayı durdurun ya da test için @BotFather’da ikinci bir bot oluşturun.

Botum bir gruptaki mesajları neden görmüyor?

Telegram’ın gizlilik modu varsayılan olarak açıktır: gruplarda botunuz, grup yöneticisi değilse, kendisine yönelik komutları ve kendisine verilen yanıtları görür, her mesajı görmez. Gruplarda kartı Gizlilik açık ya da Gizlilik kapalı gösterir. Her mesajı okumak için @BotFather’a /setprivacy gönderin, modu kapatın, sonra botu gruptan çıkarıp yeniden ekleyin.

Hangi pakete ihtiyacım var?

STARTER (0,5 GB), kendi kodunuza yer bırakarak bir python-telegram-bot, aiogram, grammY ya da Telegraf botu çalıştırır. Bot belleğinde veri tutuyorsa, dosya ya da görsel işliyorsa ya da tek süreçte birkaç bot çalıştırıyorsa 1 GB ya da daha fazlasını seçin. Paketleri Telegram bot barındırma sayfasında görün.

Botun başka bir yerde mi? Bize taşı

EN YENİ BLOG YAZILARIMIZ