TelegramBot
March 10, 2020

Heroku ile Python Telegram Botunu Sürekli Açık Hale Getirme

Bu dökümanda Python ile yazdığımız Telegram botumuzu sürekli olarak aktif hale getirebilmek için Heroku sitesini nasıl kullanacağımızı öğreneceğiz.

Öncelikle Heroku ve Github hesabı oluşturmanız gerekiyor. Heroku'ya Telegram botumuzu Github üzerinden göndereceğiz.

Yapamamız gerekenler:

  • Github hesabımıza giriyoruz.
  • Sağ üstteki profil kısmından "Your repositories" bölümü seçip "New" ile yeni bir repositories oluşturuyoruz.
  • Repositories oluştururken private kısmını ve "Initialize this repository with a README" seçeneğini işaretliyoruz. Telegram botları tokenler ile çalıştırığından private seçeneği ile repositories başka kullanıcılar tarafından görülmez ve botunuz üzerinden sizin istemediğiniz şeyler gerçekleştirilemez.
  • Repositories içine eklemeniz gereken dosyalar; python telegram bot dosyanız, Procfile dosyası, runtime.txt dosyası, requirements.txt dosyası. Buradaki requirements.txt ve python dosyasını "Upload files" ile repositoriese ekleyip Procfile ve runtime.txt dosyalarını "Create new file" seçeneği ile siz oluşturabilirsiniz. Requirements.txt dosyasının nasıl oluşturulacağını bilmeyenler komut satırına "pip freeze > requirements.txt" yazarak requirements.txt dosyasını oluşturabilir.
  • Procfile ve runtime.txt dosyalarının içeriği aşşağıdaki gibi olmalıdır.
~~"Procfile" içeriği:
     worker: python bot.py #Burada bot.py sizin kendi python dosyanız olmalıdır.

~~"runtime.txt" içeriği:
     python-3.7.6 #Burada sizin python sürümünüzün yazması gerekir.    
  • Artık github ile olan işimiz bitti. Şimdi Heroku sitesine giriyoruz.
  • Giriş yaptıktan sonra sağ üstte "New" menüsünden "Create new app" seçeneğini seçiyoruz.
  • Bir isim girip "Create App" seçeneğine tıklıyoruz.
  • Önüzüme gelen seçeneklerden Github'ı seçiyoruz. Ardından hesabımıza bağlanıp "Connect" seçeneği ile repositoiesimizi Heroku'ya aktarmış oluyoruz.
  • Ardından sayfanın altında "Enable Automatic Deploy" seçeneğini görüyoruz. Bu seçeneği seçtiğinizde Heroku repositoriesinizde herhangi bir dosya değişikliği olduğunda otomatik olarak tekrardan deploy ediyor yani değişiklikleri otomatik olarak kaydedip python dosyanızı tekrar çalıştırıyor. Bu seçeneği aktif etmediğinizde repositoriesinizde istediğiniz değişikliği yaparak yalnızca değişikliğin uygulanmasını istediğinizde kendiniz tekrar deploy edebilirsiniz.
  • Deploy işlemi bittikten sonra sitenin sol üst kısmındaki "Resources" kısmından "Free Dynos" bölümünden "Worker python bot.py" yazan seçeneğin sağ tarafındaki kalem işaretine basarak aktif ediyoruz. Bu seçenek hemen çıkmayabiliyor. 1-2 dakika bekledikten sonra sayfayı yenileyin.
  • "Worker python bot.py" seçeneğini aktif ettikten sonra botunuz sürekli olarak kullanılabilir duruma gelmiş olacaktır.

Bilmeniz gerekenler:
- 30 günün sonunda botunuz çalışmayı durdurur. Tekrar aktif etmeniz gerekir.
- Heroku botu 2-3 günde bir (Dökümantasyonunda net bir gün yok benim gözlemlemem 2-3) tekrardan başlatıyor. Kapat aç yapıyor gibi. Python dosyanızda oluşturduğunuz listeler, sözlükler, demetlere bir eleman eklediyseniz yeniden başlatıldığı için ilk çalıştığında içinde olan elemanlar dışındakiler silinecektir.
- requirements.txt dosyasındaki gereksiz modüller hataya neden olabilir.

__________________________

📃 Yandex.Disk Bünyemizdeki veriler 1 TB'a ulaşmıştır :) 🎊

Paylaşılan Kursların Tümünü @KekikKahve Grubu notlarından Çağırabilirsiniz..

🕊️ Bize oy verip paylaşarak destek olmaya ne dersin? ✌🏼