Telegram: Hava Uyarı Botu 1.Bölüm – Best Telegram

Telegram: Hava Uyarı Botu 1.Bölüm

Teknoloji alanındaki yetenek açığını kapatmak, yazılım alanında gençlerin geleceklerine değer katmak için 3 yıl önce yolculuğumuza başladık. Yüzlerce gencin katılımıyla büyürken, onların ürettiklerinden ve projelerinden ilham aldık. #KodluyoruzLab ile Kodluyoruz Akademi Mezunlar Kulübü’nden gençler yolculuğumuz boyunca ürettiklerini daha fazla gence ilham olmak için paylaşıyor. Şimdi gençleri dinleme zamanı…

2019 İstanbul “Python” bootcamp katılımcımız Deniz Özoğul tarafından hazırlanan “Telegram Hava Uyarı Botu” başlıklı yazının ilk bölümü sizlerle. Keyifli okumalar.

Bugün sizlerle birlikte, Development’tan Production’a kadar, bütün aşamaları tek tek inceleyeceğimiz bir uygulama yapacağız. Süreci nasıl yönettiğimi, hangi yolları izlediğimi sizlere göstermeye çalışarak ilerleyeceğim. Bu uygulamayı, Telegram Bot’u destekleyen her dilde yazabilirsiniz. Ben şahsen, projeyi hızlı bir şekilde ayağa kaldırabildiğinden Node.js’i tercih ediyorum.

Hedef: Bugünkü hava durumuyla ilgili bizlere bilgilendirme yapan basit bir Node.js Telegram Bot’u.

1. API Bulma ve Postman Kullanımı

Bu adım için Google’a girerek “github free api” yazıyoruz. Sonuçlar içerisinde karşımıza çıkan ilgili Github Repository’sini açıyoruz:

Public Apis

İlgili Repository’nin “README.md” dosyasında, -şu an için- en alt sırada bulunan “Weather” bölümüne ulaşıyoruz. Burada, MetaWeather’ı seçerek ilerleyebiliriz.

Daha sonra Postman’e uygulaması ile ilk API isteğimizi gerçekleştiriyoruz. Bu işlem sonrasında, aşağıdaki gibi bir sonuç elde edebiliriz. Bu isteği, WOEID (Where On Earth ID) alabilmek için yaptık. Sizler de istediğiniz bir şehre göre sorgu göndererek ilgili şehre ait WOEID bilgisini öğrenebilirsiniz.

WOEID’sini bulduğumuz şehrin hava durumu bilgilerine ulaşmak için ise aşağıdaki API Endpoint’ine istek gönderebiliriz.

https://www.metaweather.com/api/location/{{WOEID}} // 2344116 => Istanbul

Bu istek sonucunda şöyle bir JSON verisi elde edebilir ve bu veri sayesinde, 6 günlük bir hava raporu ve ilave bilgilere ulaşabiliriz.

İlgili JSON’da “consolidated_weather” (birleştirilmiş hava durumu) dizisinin ilk elemanı; o anki gün bilgisini, diğerleri ise devamındaki 5 günlük hava tahminlerini içeriyor. Bizler için önemli olan içinde bulunulan gün olduğundan, dizinin ilk indisini alacağız. JSON verisindeki “weather_state_abbr ” (hava durumu kısaltmaları) kullanarak havanın durumu anlayabiliriz.

Son olarak Postman’de yaptığımız son isteğe geri dönüyoruz. “SEND” tuşunun altındaki “Code” sekmesinden “Node.js>; Request” seçerek ilgili hazır kod bloğunu not defterine kaydedebiliriz.

2. Bot Kurma

Bu işlem için Telegram uygulamasına girerek BotFather ile bir konuşma başlatabiliriz. Yeni bir Bot oluşturmak için “/newbot” mesajını gönderebiliriz. Bizlerden bir İsim ve Takma İsim isteyecektir. Bu adım için örnek olarak “havakurtarici” ve “havakurtaricibot” koyabiliriz. Akabinde bizlere bir Token verecektir. Bu Token ile ilgili Bot’umuzu kontrol edebiliriz. Artık Bot’umuz da hazır olduğundan kodlamaya geçebiliriz.

3. Kodlama

İstediğimiz bir dizinde bir terminal açarak;

// Klasör oluşturmak
mkdir telegram-havakurtarici

// Klasör dizinine girmek
cd telegram-havakurtarici

// Proje bilgilerini oluşturmak
npm init -y

// Gerekli paketleri indirmek
npm install node-telegram-bot-api,request

// İlgili dizini VS Code ile açmak (yüklüyse)
code .

VS Code açıldığında “index.js” adında bir dosya oluşturuyoruz.

Örnek olarak yaptığım uygulamanın “index.js” dosyasına, açıklamalarıyla birlikte Github’tan erişebilirsiniz.
index.js

4. Sonuç

Sonuç olarak, mesajlarını tamamen kişiselleştirebileceğimiz, şirin bir Telegram Hava Uyarı Bot’u yapmış bulunmaktayız. Dilerseniz buradan ilgili Bot’a ulaşabilirsiniz.

Yazımızın 2. Bölümünde, bu işlemleri zaman ayarlı yapacak ve Bot’umuzun, kullanıcının belirlediği zamanlarda otomatik olarak mesaj atılmasını sağlayacağız.

Şimdilik hoşça kalın!

Bu yayın Avrupa Birliği’nin yardımıyla hazırlanmıştır. Bu yayının içeriğinden yalnızca Kodluyoruz Derneği sorumlu olup, herhangi bir şekilde AB’nin, Türkiye Cumhuriyeti’nin ve Dışişleri Bakanlığı AB Başkanlığının görüşlerini yansıttığı şeklinde yorumlanamaz.

Ten articles before and after

Important Update to our Telegram Community – Best Telegram

Opulous Telegram Referral Competition – Best Telegram

Get real-time updates from the financial market with your own bot on Telegram – Best Telegram

New Kind of Secret Chat: Sensay on Telegram – Best Telegram

PointPay Telegram Community Has Exceeded 22,000 Subscribers – Best Telegram

Sparkster’s transcript from Telegram AMA with Crypto Daku – Best Telegram

Telegram AMA with our CMO. Hi everyone, I’m Steven, the CMO of the… – Best Telegram

data-rh=”true”>面對line大幅漲價,出走Telegram是品牌最好的選擇嗎? – 就是愛玩行銷 – Medium – Best Telegram

SupraPartners #84 — SupraOracles partners with iMe Labs to enable token transfers via Telegram – Best Telegram

Russia’s Telegram Ban Isn’t Just an Attack on Privacy – Best Telegram