---
title: Telegram bot loyihasini ishga tushirib olish uchun namuna
description: cPanel-da telegram bot loyihasini Flask va web-hooklar orqali ishga tushirib olish uchun namuna
navigation: true

badges:
  - value: Veb Hosting
    to: /shared-hosting
    target: _self
    icon: lucide:layout-template

authors:
  - name: Sherali Salomidinov
    username: coderplusdesigner
---

## Namuna uchun olingan loyiha

Biz tayyorlagan telegram bot loyihasi bu eng sodda `python` loyihalardan. U ishga tushgach, agar siz "salom", "hi", yoki "привет" deb yozsangiz u sizga alik qaytaradi. Bu uch so'zdan boshqa har qanday xabar uchun esa u sizdan uch kalit so'zdan birini yozishingiz kerakligini aytib javob qaytaradi.

Loyiha juda oddiy bo'lgani bilan uni production uchun tayyorlash va serverga joylash biroz murakkab bo'lib tuyilishi mumkin. Sababi aynan cPanel-ga bu kabi loyihani joylash va ishga tushirib olish o'ziga yarasha tartib qoidalarni talab qiladi.

Local muhitda - kompyuteringizda oddiy polling(doimiy "biror yangi xabar bormi" so'rovi bilan telegram-dan so'rab turuvchi loop) bilan telegram botni tekshirib olaverasiz. VDS/VPS serverlarida va tayyor panel, masalan, cPanel muhitlarida esa o'z tartib qoidalari mavjud bo'ladi.

### Nega Flask va webhook-dan foydalanish kerak

Eng to'g'ri yo'li wbhooklar va minimal frameworklardan biri, masalan, biz ishlatadigan Flask-ni ishlatish bo'ladi. Ya'ni webhook-lar bilan biz doimiy telegram serveridan "yangi xabar bormi?" deb so'rayvermaymiz. Telegram o'zi biz tasdiqlagan URL ga yangi xabarni yetkazib turadi. Flask esa mana shunday webhook xabarlarni qabul qilib, qayta ishlash uchun qulay muhit vazifasini bajarib beradi.

### Loyihani yuklab olish

:read-more{icon="lucide:link" title="Github" to="https://github.com/coderPlusDesigner/hms-tgbot-sample" target="_blank"}

:download-button{ url="/sample-projects/telegram_bot-sample.zip" filename="telegram_bot-sample.zip" title="Namunaviy loyihani .zip formatida yuklab olish" icon="lucide:download"}

## Loyihani cPanel-da ishga tushirish

::steps{level=5}

  ##### Loyiha uchun subdomen yaratish

  > cPanel → Domains → Create A New Domain
  
  Loyiha uchun alohida subdomen yaratib olamiz. Sababi telegram faqat `https` protokol bilan ishlaydi, buning uchun esa biz `tg-bot.scroll.uz` subdomenini yaratib olamiz va u uchun SSL sertifikat olinganiga ishonch hosil qilib olamiz.

  > Subdomen yaratilishi ayni shu nomdagi papkani ham yaratadi

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_1.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_1.png
  alt: Fig 1 | Telegram bot/Flask sample project
  ---
  ::

  ##### Loyiha uchun Python App (yurituvchi muhit ilovasi)ni yaratib olish

  > cPanel → Setup Python App → Create Application

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_2.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_2.png
  alt: Fig 2 | Telegram bot/Flask sample project
  ---
  ::

  1. Python version - Flask va boshqa kutubxonalar versiyasiga mos Python versiyasini tanlab olamiz;
  2. Application root - Loyiha papkasi, loyiha ishga tushadigan papka. Bizning holatda subdomenimiz uchun yaratilgan papka - `tg-bot.scroll.uz` bo'ladi. Agar siz asosiy domenga sozlayotgan bo'lsangiz, unda `public_html`;
  3. Application URL - Bu ilova uchun tanlanadigan domen nomi. Bizning holatda `tg-bot.scroll.uz` subdomeni tanlanadi;
  4. "Application startup file" va "Application Entry point" qismlariga hech narsa kiritish shart emas. Ilova yaratilishida ular avtomatik `passenger_wsgi.py` va `application` qiymatlariga sozlanadi;
  5. Har ehtimolga qarshi, loglarni o'zida saqlovchi .log faylni sozlab qo'yamiz. Keyinchalik, agar loyihada biror muammo yuzaga kelsa, buning sababini ana o'sha log fayldan ko'rib, aniqlash mumkin bo'ladi.

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_3.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_3.png
  alt: Fig 3 | Telegram bot/Flask sample project
  ---
  ::

  > Ilova yaratilgach uning papkasini ochib, muhitni aktivlashtirib olish uchun tayyor terminal komandasi yuqori qismda taqdim qilinadi. Uni biror joyga vaqtincha saqlab qo'yamiz. Birozdan keyin Terminal orqali kutubxonalarni o'rnatib olishda bu buyruq amali kerak bo'ladi.

  ##### Loyiha arxivini serverga yuklash

  > cPanel → File Manager → /home/scroll/tg-bot.scroll.uz
  
  Loyiha arxivini serverning kerakli joyiga yuklash uchun "File Manager" interfeysi orqali subdomen papkasini ochib olamiz va "Upload"(yuklash) tugmasini bosamiz:

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_4.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_4.png
  alt: Fig 4 | Telegram bot/Flask sample project
  ---
  ::

  Loyiha arxivini tanlab, yuklaymiz:
  
  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_5.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_5.png
  alt: Fig 5 | Telegram bot/Flask sample project
  ---
  ::
  
  Yuklash yakunlangach ortga qaytishni bosamiz:
  
  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_6.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_6.png
  alt: Fig 6 | Telegram bot/Flask sample project
  ---
  ::

  Yuklangan arxivni arxivdan chiqaramiz:

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_7.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_7.png
  alt: Fig 7 | Telegram bot/Flask sample project
  ---
  ::

  Shu tariqa loyiha fayllarini serverning kerakli papkasiga yuklab olgan bo'lamiz.

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_8.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_8.png
  alt: Fig 8 | Telegram bot/Flask sample project
  ---
  ::

  ##### Loyihani production uchun konfiguratsiya qilish / telegram bot yaratish

  Birinchi ish - sizga loyiha ichida `sample.passenger_wsgi.py` fayli berilgan bo'ladi. Uning kodini `passenger_wsgi.py` fayliga ko'chirib o'ting va saqlang.

  Ikkinchisi esa - [@BotFather](https://telegram.me/BotFather){target=_blank} orqali telegram botni yaratib oling va bot token qiymatini loyihadagi `config.py` fayliga, kerakli qismiga ko'chib o'tib saqlang.

  ##### Kutubxonalarni o'rnatish

  > cPanel → Terminal

  Terminal orqali avval "Python App" da berilgan buyruqdan foydalanib, env ni aktivlashtirib olamiz.

  So'ng esa requirements.txt faylidan foydalanib, barcha kerakli kutubxonalarni o'rnatib olamiz:

  ```bash
  pip install -r requirements.txt
  ```

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_9.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_9.png
  alt: Fig 9 | Telegram bot/Flask sample project
  ---
  ::

  ##### Ilovani qayta ishga tushiramiz
  
  > cPanel → Setup Python App

  Ilova interfeysini ochamiz va uni qayta ishga tushiramiz:

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_10.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_10.png
  alt: Fig 10 | Telegram bot/Flask sample project
  ---
  ::

  ##### Telegramga bir martalik webhook URL manzilini ko'rsatib yuboramiz

  > cPanel → Terminal

  Bu amal bilan telegram webhook so'rovlarini (javob xabarlarini) qaysi manzilga jo'natishni o'zida sozlab oladi.

  Buning uchun Terminal-ga qaytamiz va quyidagi kabi buyruqni ishga tushiramiz:

  ```bash
  curl -F "url=https://<YOUR_DOMAIN>/webhook" \
     https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook
  ```

  Bu albatta namunaviy buyruq. Undagi <YOUR_DOMAIN> va <YOUR_BOT_TOKEN> o'rniga mos keladigan qiymatlar qo'yilishi kerak.

  Masalan, bizning vaqtincha yaratib olgan domen va tokenimiz bilan u quyidagicha holatga keladi:

  ```bash
  curl -F "url=https://tg-bot.scroll.uz/webhook" \
     https://api.telegram.org/bot8667036217:AAFrlLgJK-7jmFrYzpe6uYHMUQ8s55BzHSs/setWebhook
  ```

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_11.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_11.png
  alt: Fig 11 | Telegram bot/Flask sample project
  ---
  ::

  Rasmdagi kabi natija bizga URL sozlanishi muvaffaqiyatli kechganini ko'rsatadi.

  ##### Botni tekshirib olamiz

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_12.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_12.png
  alt: Fig 12 | Telegram bot/Flask sample project
  ---
  ::

  Ko'rib turganingizdek, bot o'z vazifasini bajaryapti. Siz esa bizning eng minimal loyihani, unda jarayon qanday amalga oshirilganini mustaqil ko'rib chiqing va o'z loyihangizga tadbiq qiling.

::

## Namunaviy loyihani cPanel dan o'chirish

Biz yaxshi e'tibor qaratmaydigan, ammo to'g'ri bajarilmasa, kutilmagan muammolarga, qiyinchiliklarga olib keladigan vaziyatlar bo'ladi. Shulardan biri bu "Setup Python App" orqali yaratilgan loyihani to'g'ri yo'l bilan o'chirish hisoblanadi. Agar loyihani o'chirish tartibi to'g'ri bajarilmasa, kutilmagan muammolar kelib chiqishi mumkin.

::steps{level=5}

  ##### Ilovani o'chirish

  > cPanel → Sutup Python App

  Eng birinchi o'rinda ilova to'xtatilishi(stop) so'ng o'chirishga berilishi kerak (delete):

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_13.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_13.png
  alt: Fig 13 | Telegram bot/Flask sample project
  ---
  ::

  ##### Subdomenni o'chirish

  > cPanel → Domains → Manage

  So'ngra namuna sifatida yaratilgan subdomenni o'chirib yuborsak bo'ladi:

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_14.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_14.png
  alt: Fig 14 | Telegram bot/Flask sample project
  ---
  ::

  ##### Loyiha papkasini o'chirish

  > cPanel → File Manager

  Subdomen o'chirilishi uning papkasini o'chirmaydi. Loyiha papkasini o'zimiz, "File Manager" interfeysi orqali amalga oshiramiz:

  ::color-mode-image
  ---
  srcLight: /images/shared-hosting/en/telegram_bot-sample_15.png
  srcDark: /images/shared-hosting/en/telegram_bot-sample_15.png
  alt: Fig 15 | Telegram bot/Flask sample project
  ---
  ::

  Shu tariqa loyiha muammolarsiz to'liq o'chirilgan bo'ladi.
::

---

**Source URL:** https://support.hostmaster.uz/shared-hosting/cpanel/telegram-bot-sample-with-flask
