I bob. Python dasturlash tili to‘G‘risida umumiy tahlil. Python dasturlash tili tarixi 5




Download 1.37 Mb.
bet5/16
Sana25.06.2023
Hajmi1.37 Mb.
#75660
1   2   3   4   5   6   7   8   9   ...   16
Bog'liq
Ilyosbek
El.Tex.Qur 6, Document-WPS Office, 845b50115c80ead5a9f0dfb0f40cb94a, 365, Фарғона 2012-2016 асосий, Hayot faoliyati xavfsizligi madaniyatini shakllantirish asoslari, 1-mustaqil ish, 2-ЛИГА қайднома, Kucharova Sh Kurs ishi
Uchinchi qadam: Botingiz uchun mantiqni yozing.
Qiziqarli qism vaqti! Ayni paytda sizda Telegram botingiz uchun mantiqni yozish uchun kerak bo'lgan hamma narsa mavjud. Mana shunday davom etaman…
Men kompyuterimda IDE-ga ega bo'lish uchun juda kam dasturlash bilan shug'ullanaman, shuning uchun men Notepadni ochaman va u erda kodimni yozishni boshlayman. Bu PHP bo'lgani uchun, mantiqingizni bilan birlashtirganingizga ishonch hosil qiling.
Birinchi qiladigan narsa - Telegram API-ga qo'ng'iroq qilishni osonlashtiradigan o'zgaruvchini ishga tushirish. Bu $path = "https://api.telegram.org/bot kabi oddiy.
Biz webhook orqali yangilanishlarni olayotganimiz sababli, keling, ushbu yangilanish ma'lumotlari bilan massiv yaratamiz va to'ldiramiz: $update = json_decode(file_get_contents("php://input"), TRUE).
Keyinroq qulaylik uchun keling, ushbu yangilanishdan ikkita muhim ma'lumotni ajratib olaylik - chat identifikatori va xabar (agar yangilanish yangi xabar tufayli bo'lmasa, bu maydon bo'sh bo'lishi mumkin va biz kodlaymiz keyinroq):
$chatId = $update["message"]["chat"]["id"];
$message = $update["message"]["text"];
Agar siz hali bu bot nima qilishini taxmin qilmagan bo'lsangiz, u menga tanlagan joyim uchun hozirgi ob-havoni aytib berishini xohlayman. Buning uchun men /weather [joylashuv] buyrug'ini yarataman.
Buni amalga oshirish uchun keling, xabar /weather bilan boshlangan yoki yo'qligini bilish uchun if iborasini yarataylik. Biz buni strpos() funktsiyasi yordamida amalga oshirishimiz mumkin, bu bizga satr ichidagi pastki qatorning o'rnini bildiradi:
if (strpos($message, "/weather") === 0) { }
If iborasida joylashgan bo'lib, keling, xabarning dastlabki to'qqizta belgisini (bu /weather buyrug'i tomonidan qancha belgidan foydalanishi va undan keyin bo'sh joy) kesish orqali manzilni ajratib olish uchun kod yozamiz:
if (strpos($message, "/weather") === 0) { $location = substr($message, 9); }
Agar ushbu bot ishlab chiqarishda qo'llanilsa, joylashuv to'g'ri formatga ega ekanligiga ishonch hosil qilish uchun ba'zi kiritishni tozalashni qo'shishimiz kerak edi. Ammo unday emas, shuning uchun biz bu haqda tashvishlanmaymiz.
Endi biz OpenWeatherMap-dan o'sha joy uchun ob-havo ma'lumotlarini olamiz:
$weather=json_decode(file_get_contents("https://api.openweathermap.org/data/2.5/weather?q=".$location."&appid=mytoken"), TRUE)["weather"]["main"];
Bu erda biz qandaydir xatolarni qayta ishlashni amalga oshirishimiz kerak, lekin men bezovta qilmoqchi emasman. Buning o'rniga, keling, eng yaxshisiga umid qilaylik va Telegram API-dan foydalanib, botimizga javob beraylik:
file_get_contents($path."/sendmessage?chat_id=".$chatId."&text=Here's the weather in ".$location.": ". $.weather);
Umuman olganda, kod qanday ko'rinishga ega:
; $update = json_decode(file_get_contents("php://input"), TRUE); $chatId = $update["message"]["chat"]["id"]; $message = $update["message"]["text"]; if (strpos($message, "/weather") === 0) { $location = substr($message, 9); $weather=json_decode(file_get_contents("https://api.openweathermap.org/data/2.5/weather?q=".$location."&appid=mytoken"), TRUE)["weather"][0]["main"]; file_get_contents($path."/sendmessage?chat_id=".$chatId."&text=Here's the weather in ".$location.": ". $weather); } ?>

Download 1.37 Mb.
1   2   3   4   5   6   7   8   9   ...   16




Download 1.37 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



I bob. Python dasturlash tili to‘G‘risida umumiy tahlil. Python dasturlash tili tarixi 5

Download 1.37 Mb.