Kandilli rasathanesinin yayınladığı verilere göre şehir filtreleyerek, Telegram üzerinden bildirim almanızı sağlayan küçük bir kod parçası.
Bilgisayarınızda çalıştırmak için Python 3.8 ve üzeri sürümler gerekmektedir.
Eğer bilgisayarınızda Python 3.8 ve üzeri sürümleri mevcut ise, aşağıdaki komutları çalıştırarak uygulamayı çalıştırabilirsiniz.
$ git clone https://github.com/mrtrkmn/deprem.git
$ cd deprem
$ bash sanal_ortam_olustur.sh
$ source venv/bin/activate
$ python deprem.py
Daha sonraki adımlar aşağıda verilen örnek video ile anlatılmıştır.
deprem.mov
Bu depoyu (repository) kendi hesabınıza kopyalamanız gerekir (fork).
Kopyaladıktan sonraki adım da Telegram üzerinden "token" almanız gerekmektedir.
Bunun için telegramdan @botfather profili bularak aşağıda görüldüğü üzere yeni bir bot bilgisi istediğinizi /newbot
komutu ile belirtebilirsiniz. Aşağıda belirtilen ekran görüntüsünde olduğu gibi.
Daha sonrasında size aşağıdakine benzer bir mesaj gönderecek.
Buradaki belirtilen kodu aldıktan sonra Telegram üzerinden chatID yi almamız gerekir. Onu @RawDataBot aracılığı ile alıyoruz.
/invite
komutunu gönderdiğimizde bize JSON dosyası verecektir, bu JSON dosyası içerisinde ki chatID değerini alıyoruz aşağıdaki resimde gösterildiği şekilde.
Sonrasında kendi hesabımıza "fork" oluşturduğumuz projede, "Github secrets" değerlerini ayarlıyoruz.
- TELEGRAM_TOKEN: İlk adımdan alınan değer
- TELEGRAM_CHAT_ID: Son aldığımız değer.
Bunları "Github secrets" üzerinden kaydediyoruz. Bu kaynak Ingilizce olsa da nasıl kaydedildiğini çok basit şekilde açıklıyor: https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-an-environment
Bu adımları ayarladıktan sonra sadece son olarak Şehir ve Zaman değerini şuradan ayarlamalısınız.
- Aranan şehiri değiştirmek için: .github/workflows/run.yaml#L55
- Zaman aralığını değiştirmek için: .github/workflows/run.yaml#L6 ve .github/workflows/run.yaml#L56 değerlerini değiştirmeniz gerekmektedir.
** Not: ** Zaman aralığını değiştirmek için, cron
formatında değer vermeniz gerekmektedir. Buradan cron formatlarına bakabilirsiniz: https://crontab.guru Sadece dakika değerini değiştirmek istiyorsanız, */5 * * * *
değerinde bulunan 5
değerini değiştirmeniz yeterli olacaktır.
Burada bulunan değer .github/workflows/run.yaml#L56 ile uyumlu olmalıdır.